Javascript Angular以编程方式添加ngChange而不添加属性
我试图在不修改HTML的情况下模拟指令中的ng change属性(因此没有ng change属性) 查看Javascript Angular以编程方式添加ngChange而不添加属性,javascript,angularjs,angularjs-directive,angular-ngmodel,angularjs-ng-change,Javascript,Angularjs,Angularjs Directive,Angular Ngmodel,Angularjs Ng Change,我试图在不修改HTML的情况下模拟指令中的ng change属性(因此没有ng change属性) 查看ngChange指令的源代码,我的指令是这样工作的: (基本上在本指令中,我需要blur()a在model更改时选择字段) 将其应用于: <select id="test" ng-options="option for option in ['test1', 'test2'] track by option" class="form-control" ng
ngChange
指令的源代码,我的指令是这样工作的:
(基本上在本指令中,我需要blur()
a在model
更改时选择字段)
将其应用于:
<select
id="test"
ng-options="option for option in ['test1', 'test2'] track by option"
class="form-control"
ng-model="form.test"
ng-required="true"
blur-on-change-fix
></select>
但这是正确的解决方案吗?难道没有别的办法吗?scope.change()呢
谢谢如果我理解正确,您希望在您的机型上安装一款$watch
;例如:
link: function($scope, element, attr, ngModel) {
$scope.$watch(attr.ngModel,function(newVal,oldVal) {
element.blur();
})
您说过您想在型号更改时做些什么,所以这就是$watch的用法。谢谢您的解释,我遗漏了一些东西;)是的,我想我误解了NGC的用法。我将编辑我的答案<代码>$watch$
在这里仍然是正确的用法。
link: function($scope, element, attr, ngModel) {
$scope.$watch(attr.ngModel,function(newVal,oldVal) {
element.blur();
})