我是新來的角的js發射只有一次,所以請有人幫我out.I有我的模板在這裏:
<form ng-model="signup" form-valid>
<input type="text" name="username" ng-model="signup.username">{{signup}}
</form>
我的指令是這樣的:
app.directive("formValid",function(){
return {
restrict:"A",
require:"ngModel",
link:function(scope,element,attrs){
scope.$watch(attrs.ngModel,function(newValue){
if(newValue){
console.log(newValue);
}
});
}
}});
當我在文本框中輸入一些值時,模型正在改變,因此「$ watch」應該被觸發。但是在這裏「$ watch」僅在我第一次輸入任何值到文本框時被觸發一次。提前致謝。
您可能想要觀察模型的屬性,而不僅僅是對象本身:'scope。$ watch(attrs.ngModel,{...},true);' – Blackhole
它適用於我。什麼是第三個參數「真正的「在做。以前沒有」真實「它只發射一次。 – Nitya
第三個參數是觀察「深」還是不。例如檢查它的同一對象或檢查對象是否具有相同的鍵/值 – dogmatic69