什么情況下會需要動態綁定 ng-model 呢?若你的數據結構長得像是下面這樣:
var Classes = [{"Name" : "溫度 " ,"Options" : [ "Cold" , "Hot" , "Normal" ]},{"Name" : "份量 " ,"Options" : [ "Big" , "Middle" , "Small" ]}];此時你需要用 ng-repeat 將數據展開,并且將 Options 個別設置為 ng-options 的數據,此時就須要動態去綁定 ng-model,那么該如何綁呢?你可能需要在你的 Controller 底下加上一個變量來做這些動態呈現的 ng-options 的數據指定。
說的這么抽象,不如馬上來看下吧。
<!-- DOM --><div class ="container"><div ng-repeat= "class in classes">{{className}}<select ng-model="SelectdCollection[className]" ng-options="option for option in classOptions" ></select></div><a class="btn btn-success" ng-click= "submit()">送出 </a> </div>// Javascriptfunction DemoController($scope){$scopeclasses = [{"Name": "溫度 ","Options" : ["Cold" , "Hot", "Normal"]},{"Name": "份量 ","Options" : ["Big" , "Middle" , "Small" ]}];$scopeSelectdCollection = {};$scopesubmit = function() {console log($scope SelectdCollection);};}在這一小段程序代碼中,我們在 DemoController 里面宣告了 $scope.SelectdCollection,這就是剛才提到的承接動態 ng-model 值的對象,這邊定義了一個按鈕,按下之后可以及時把動態呈現的 ng-options 所選的值丟到開發者工具的 console 去。
實際畫面會是長這樣。
 
 
按下送出可以在開發者工具看到如下的 log,成功取得資料。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答