我的代碼看起來是這樣的 -
<form name="myForm" ng-submit="!myForm.phone.$isEmpty(this.$viewValue)" action="/my/url" method="get">
<input name="phone">
<button type="submit">submit</button>
</form>
現在我不能提交表單,即使我填的電話號碼字段。
但如果我這樣的代碼:
<form name="myForm" ng-submit="!myForm.phone.$isEmpty(myForm.phone.$viewValue)" action="/my/url" method="get">
<input name="phone">
<button type="submit">submit</button>
</form>
其完美的工作了。
所以困難與'這'。我甚至不能檢查這個上下文,它應該是$ scope.myForm.phone的上下文,但它不是。有人可以請解釋。
所以這是否意味着,即使我想上下文是myForm.phone,我不能這樣做在我看來?因爲語境永遠是父母,即範圍。不,這違反了詞法範圍的正常JavaScript行爲? –
不,你沒有力量來改變範圍。但是,如果你實現了一個[自定義指令](http://plnkr.co/edit/deAQoIw4KfekIh3ZOt1j?p=info)並將其應用於表單中的輸入,該指令將具有字段範圍,因爲它將引用'ng-model'的字段 –