小編給大家分享一下在js中如何解決ng-repeat產(chǎn)生的ng-model中取不到值的問題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
成都創(chuàng)新互聯(lián)公司專注于邵武企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。邵武網(wǎng)站建設(shè)公司,為邵武等地區(qū)提供建站服務(wù)。全流程專業(yè)公司,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
最近遇到在ng-repeat產(chǎn)生的textarea中綁定ng-model后,在js中取不到ng-model值的問題。
html的代碼結(jié)構(gòu)如下
10.{{questions[9].questionContent}}
用ng-repeat循環(huán)輸出了該題目的選項,有的選項后面有輸入框,于是用ng-if控制某個選項后面添加textarea輸入框。在用ng-model雙向綁定了text10后,當(dāng)輸入框中輸入內(nèi)容時,js中的$scope.text10并不能取得內(nèi)容。
經(jīng)過查詢發(fā)現(xiàn)原因是,ng-repeat會產(chǎn)生子作用域,而js中的scope是父作用域的,Angularjs中的作用域向上查找,所以是不能取得ng-repeat中的綁定值的。
解決方案就是把子scope中的值通過$parent屬性傳遞給父scope,同時把text10定義為數(shù)組,即前端綁定時使用$parent.text10[$index],這樣就綁定了每一個textarea輸入框的值,從而能在js中獲取到。
修改后如下:
10.{{questions[9].questionContent}}
以上是“在js中如何解決ng-repeat產(chǎn)生的ng-model中取不到值的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!