Angularjs viewChangeListeners不在angular指令中工作
因此,基本上,我需要一个指令,只要viewValue不是空的,就更新输入的类。这是代码Angularjs viewChangeListeners不在angular指令中工作,angularjs,angularjs-directive,angular-directive,angularjs-ng-model,Angularjs,Angularjs Directive,Angular Directive,Angularjs Ng Model,因此,基本上,我需要一个指令,只要viewValue不是空的,就更新输入的类。这是代码 angular.module('app').directive('input', function() { return { restrict: 'E', require: '^?ngModel', link: function(scope, element, attrs, ngModelController) { if (ngModel
angular.module('app').directive('input', function() { return {
restrict: 'E',
require: '^?ngModel',
link: function(scope, element, attrs, ngModelController) {
if (ngModelController === null) return;
var updateClass = function() {
if (!(ngModelController.$isEmpty(ngModelController.$viewValue))) {
element.addClass('input-has-value');
} else {
element.removeClass('input-has-value');
}
}
ngModelController.$viewChangeListeners.push(function() {
updateClass();
});
}
};
});
但我遗漏了一些东西,因为它从未触发updateClass方法。我做错了什么?它从不触发updateClass方法。在中创建可复制的示例。此外,无论输入值是否为空,您都在应用相同的类
输入值
。您是否解决了此问题?我的$viewChangeListeners函数也没有被调用。