解決辦法
A.將綁定的變量寫成對象的形式
$scope.inputText = {value:"測試"}
頁面綁定
<input type="type" ng-model="inputText.value"/>
B.另一種解決辦法: 把ng-if 改為 ng-show 就可以了
ng-model 在 ng-if 里面無效
ng-if指令的功能與ng-show指令相似,都用於控制元素的顯示與隱藏,但兩者又有區別,ng-if指令會移除DOM原有的元素,而ng-show指令只是將元素的”display”屬性值設置為”none”。因此,在使用時必須根據實際的需要進行選擇性使用。
ng-if指令會創建一個子級作用域,因此,如果在ng-if指令中添加了元素,並向元素屬性增加ng-model指令,那么ng-model指令對應的作用域屬於子級作用域,而並非控制器注入的$scope作用域對象,這點在進行雙向數據綁定時,需要引起注意。
為什么?
ng-if里面會生成一個子域,想要ng-model生效,需要在$scope創建一個子對象,才行,如$scope.obj,再將ng-model綁定到obj
解決問題:
1.使用ng-show(或ng-hide)可以間接解決這個問題。
2.使用$scope創建一個子對象
$scope.a = {num: '1'};
