我在我的主 JavaScript 文件中创建了一个 Angular 指令。
myApp.directive('mymin', function(){
var func = function(scope, im, attrss, c){
scope.$watch(function(){ return im.attr('ng-minlength') }, function(n){
scope.min = n
})
}
return {link:func, restrict: 'A'}
});
我只想查看“ng-minlength”的值状态。 我将此指令放在一个 html 文件中
HTML:
<input type="text" mymin ng-minlength=5>
<input type="text" mymin ng-minlength=13>
我认为当我将焦点从一个输入更改为另一个输入时,“scope.min”的值将会改变,但我错了。 “scope.min”的值始终为 13。
那你能告诉我原因吗? 非常感谢。
最佳答案
如果您希望监视元素属性的更改,那么您应该在属性对象上使用 $observe (链接函数的第三个参数),而不是 $watch
attrss.$observe("ng-minlength", function(n){
scope.min = n
})
关于javascript - 为什么 $watch() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448251/