gpt4 book ai didi

javascript - AngularJS 日期选择器的自定义指令不更新 ng-model

转载 作者:行者123 更新时间:2023-11-28 00:08:27 25 4
gpt4 key购买 nike

我检查了所有具有类似主题的未解决问题,但都没有给我提供适当的工作解决方案,这让我发疯,这就是我打开这个问题的原因。

我的自定义指令看起来像

angular.module('angularSampleApp') .directive('datepicker', function() {
'use strict';

return {
restrict: 'A',
require: 'ngModel',
link: function(scope, el, attr, ngModel) {
$(el).datepicker({
maxDate: 0 ,
onSelect: function(dateText) {
scope.$apply(function(){
ngModel.$setViewValue(dateText);
ngModel.$viewValue = dateText;
ngModel.$render();
});
}
});
}
};
});

我使用这样的指令

<input type="text" id="datepicker" datepicker ng-model="jumpDate">
<a name="jump" id="jump" title="Jump" ng-click="jumpToDate()">Jump</a>

在 Controller 中我有这样的东西:

    $scope.jumpToDate = function() {
console.log($scope.jumpDate);
};

但是指令不会更新 $scope.jumpDate 并且它始终是未定义的,即使我在 Controller 中设置默认值它也不会更新,dateText 具有正确的值。

我正在使用 Angular 版本 1.4.1

最佳答案

我会检查指令的范围值。我猜测 ng-model 正在隔离范围而不是 Controller 上设置值。

或者尝试使用

ng-model="$parent.jumpDate"

关于javascript - AngularJS 日期选择器的自定义指令不更新 ng-model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31122371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com