下午好,
ngModelController
可以控制 $dirty
和 $pristine
,但我想要自己的。我该如何扩展 ngModelController
,以提供类似于 ngModelCtrl.$setCustom()
的功能?
谢谢。
下午好,
ngModelController
可以控制 $dirty
和 $pristine
,但我想要自己的。我该如何扩展 ngModelController
,以提供类似于 ngModelCtrl.$setCustom()
的功能?
谢谢。
你不能扩展ngModelDirective
,但你可以创建自己的ng-model
。在Angular中相对不为人知的是,你可以拥有多个同名指令,并且它们都将被执行。这里是一个带有示例的JSBin链接:
http://jsbin.com/nopoyiso/1/edit
对于那些不想打开JSBin的人:
myApp.directive('ngModel', function() {
return {
restrict: 'A',
require: '?ngModel',
link: function(scope, elem, attrs, ngModel) {
ngModel.setCustom = function() {
console.log('hello!');
}
}
}
});
这是一种做法,但我认为这样做会让你自己和其他人都感到困惑。你能详细说明一下你想做什么吗?也许有更好的方法去实现。
ng-model
,它会更清晰一些,但是你需要将你的指令和ng-model
都添加到你的输入中。所以我想这取决于你决定哪种方式最好。 - Anders Ekdahl