1. 程式人生 > >angularjs ng-if 中的ng-model 值作用域問題

angularjs ng-if 中的ng-model 值作用域問題

現象:
最近做了一個需求,頁面上使用了ng-if 條件做判斷,導致通過使用 $scope 獲取不到 ng-model 的值。

問題原因:

ng-if這個指令單獨開了一個作用域,它只可以繼承,不可以進行往外傳值。

 

解決辦法:

這個問題就是一個作用域的問題。使用 ng-if ,需要在傳值的地方給加上$parent。這樣才能使用 $scope 獲取到 ng-model 的值。

例如寫成這樣:

<input ng-if="xx條件" ng-model="$parent.test" />

  或者 使用 ng-show 代替 ng-if