in this plunk私は先週から直面している問題のデモを行いました。コードスニペットには、ページ1とページ2の2つの異なるページが含まれ、と同じコントローラを使用するブートストラップタブが含まれています。 Page1にはng-repeatがあり、そこからオプションをクリックすると、コントローラ機能のvm.edit(selected_variable)にヒットし、Page2にng-model = "vm.name"という単純な入力ボックスが表示されます。私の問題は、ng-nameがvm.edit関数がそれを更新するときに値で更新または置き換えられないということです。 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>
PAGE2:
<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);
};
編集機能はpage1にvm.nameを更新しますが、ページ2には反映されません。この問題は解決できませんでした。
恐ろしい!!!それは非常に良い答えです!ありがとう!!あなたは私のもう一日を節約するだけです! –