0
我找不到爲什麼當我的指令在元素上啓用時,雙向綁定失敗。爲什麼我的angularjs指令導致雙向綁定失敗?
考慮這個plunkr
在第一取出tooltip={{input1Error}}
只要你在一個有效的電子郵件類型,使input1
變量更新。
當添加tooltip={{input1Error}}
時,輸入有效的電子郵件時,input1
型號從不更新。
我錯過了什麼?
我找不到爲什麼當我的指令在元素上啓用時,雙向綁定失敗。爲什麼我的angularjs指令導致雙向綁定失敗?
考慮這個plunkr
在第一取出tooltip={{input1Error}}
只要你在一個有效的電子郵件類型,使input1
變量更新。
當添加tooltip={{input1Error}}
時,輸入有效的電子郵件時,input1
型號從不更新。
我錯過了什麼?
控制器的範圍存在記錄在案的問題。您可以通過執行下面的更改來解決此問題。
控制器改成這樣:
app.controller('ctrl1', ['$scope','$log', function($scope, $log) {
$scope.model = {};
}]);
而且形式:
<form name="myForm" novalidate>
<div class="form-group">
<label>Input 1 *</label>
<input
class="span2"
name="input1id"
type="email"
ng-model="model.input1"
tooltip="{{model.input1error}}"
tooltip-placement="bottom"
tooltip-trigger="openPopup"
tooltip-trigger-on='openPopup'
tooltip-trigger-off='closePopup'
tooltip-show="myForm.input1id.$invalid"
required
/>
<pre>Input 1 is invalid: {{myForm.input1id.$invalid}}</pre>
<pre>Input 1 valid email: {{!myForm.input1id.$error.email}}</pre>
<pre>Input 1 error msg: {{model.input1error}}</pre>
</div>
<span class='error hidden' error-on="!myForm.input1id.$error.email" error-for='input1error'>Please enter a valid email</span>
<span class='error hidden' error-on="!myForm.input1id.$error.required"" error-for='input1error'>This field is required</span>
</form>
謝謝!我不完全明白爲什麼這是必要的。但它似乎是一個最佳做法:https://github.com/angular/angular.js/wiki/The-Nuances-of-Scope-Prototypal-Inheritance和http://www.youtube.com/watch?v = ZhfUv0spHCY&設有= youtu.be&T =30米 – mikew