演示中有许多示波器问题。首先,在
dateChange回调中,即使函数本身是在控制器内部声明的,
this回调中的上下文也是bootstrap元素,因为它位于bootstrap处理程序中。
每当您从第三方代码中更改角度范围值时,角度都需要使用来了解它
$apply。通常最好将所有第三方作用域保留在指令中。
ng-model输入上将使用更多角度的方法。然后
$.watch用于更改模型。这有助于将控制器内的所有代码保持在角度范围内。在任何角度应用程序中都很少在
ng-model任何窗体控件上使用
<input type="text" datepicker="" ng-model="myDate">
内指令:
dateInput.bind('changeDate',function(){ scope.$apply(function(){ scope[attrs.ngModel] = element.val() });});然后在Controller中:
$scope.$watch('myDate',function(oldVal,newVal){ if(oldVal !=newVal){ $scope.dateChanged=true; $timeout(function(){ $scope.dateChanged=false; },5000); } });演示:http://jsfiddle.net/qxjck/10/
编辑
var dateInput =angular.element('.datepicker')如果要在页面中的多个元素上使用此指令,则应删除的另一项内容是。在指令中使用多余的指令,其中where已经是回调
element中的参数之一
link,并且是特定于实例的。替换
dateInput为
element



