angularJs select ng-selected默認選中遇到的坑

本人,程序員妹子一枚,,,,名字中有萌字,簡稱萌妹子哈,,,首先貼出代碼:

程序員

 

一樣的方式,用ng-selected用來作回顯,可是結果讓萌妹我非常詫異,第一個「模板類型」那裏的select可正常回顯,第二個「生成方式」那裏的select回顯就不生效,一度懷疑本身犯了低級錯誤寫錯代碼,因而檢查了好幾遍,最終無果,因而各類百度,Google,最終簡單總結下,有理解原理的童鞋能夠告知,感激涕零dom

去查看源代碼會發現,select在沒匹配到默認值的狀況下,會自動添加<option value="? number:2 ?" selected="selected"></option>這麼個東西
ui

解決方式以下:spa

一、添加ng-init設置默認值
blog

二、用ng-option解決it

$scope.listBuildtype =  [{"id":1,"name":"逐條生成"},{"id":2,"name":"彙總生成"}]

 

以上兩種方式,
第一種方式可正常顯示設置的默認值,可是此處這個值是動態的,那就沒法用這個方法來設置默認值用來作回顯了,細心的童鞋會發現,在「生成方式」這個select的外側div中,此處我添加了一個ng-if的判斷,固然這個是根據業務須要作的處理,but就是這個ng-if,讓我對這個問題糾結很久呀,貽害不淺,,把他換成ng-show以後,用第一種方式就行了,,奇蹟般的正常顯示了,,我猜想這必定跟angular的渲染機制有關啦,
ng-if會從新渲染dom,ng-show只是對dom渲染一次,用顯示隱藏來控制HTML元素,可是不理解爲何從新渲染以後就不能正常回顯呢
才疏學淺,,坐等大神們指點一二

推薦第二種方式,,,這個方式百試不厭,,用這種方式也不會出現空選項了<option value="? number:2 ?" selected="selected"></option>

io

相關文章
相關標籤/搜索