簡體   English   中英

在angularjs的ng-repeat之外,作用域不起作用

[英]scope is not working outside ng-repeat in angularjs

的HTML

<ul>
    <li ng-repeat="obj in strA">
       obj.str = {{obj}}
       <input ng-model="obj" />
    </li>
</ul>
obj in <code>{{ strA.a1 }}</code> 
obj in <code>{{ strA.a2 }}</code>

控制者

$scope.strA = {
  a1: "abc",
  a2: "bcd"
};

當我在文本框中更改值時,ng-repeat內的obj也會更改。 但價值包裹 不要改變

這是codepen: http ://codepen.io/anon/pen/vLyrxm
為什么會這樣呢? 據我所知,兩者的價值都應該改變

ngRepeat創建新的子范圍。 這意味着在每個重復的li都有一個新作用域,而使用ngMOdel則綁定到該本地作用域。 您可以改為執行以下操作:

<li ng-repeat="(key, value) in strA">
    obj.str = {{value}}
    <input ng-model="strA[key]" />
</li>

演示: http //codepen.io/anon/pen/adBKVd?editors = 101

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM