in this plunk我已經爲我上週面臨的問題做了一個演示。代碼片段包含引導選項卡,其包括兩個不同的頁面 - page1和page2並且它們使用相同的控制器。 Page1有ng-repeat,當我們從那裏點擊選項時,它在控制器函數vm.edit(selected_variable)中被擊中,並且Page2有一個簡單的輸入框,其具有ng-model =「vm.name」。我的問題是,當vm.edit函數更新它時,ng-name不會被更新或替換爲值。我可以使用rootScope來解決這個問題,但我不想使用rootScope。我只是想避免rootScope並想使用vm。ng-model沒有從控制器更新到查看
我的代碼例如:
第1頁:
<div ng-controller="appCtrl as vm">
<div>
<ul>
<li ng-repeat="list in vm.list track by $index">
<button type="button" class="btn-u btn-brd btn-u-none" ng-click="vm.edit(list, $index)" data-toggle="tab" href="#page2">
{{ list.name }}
</button>
</li>
</ul>
</div>
</div>
第2頁:
<div ng-controller="appCtrl as vm">
<input type="text" ng-model="vm.name">
</div>
控制器:
vm.edit = function(listItem, index) {
vm.name = listItem.name;
console.log(vm.name);
};
編輯功能更新vm.name in page1但它不反映在page2中。無法解決這個問題,任何想法?
太棒了!這是一個非常好的答案!謝謝!!你只需保存我的一天! –