0

次のような部分ビューがあります。

<div ng-if="activeItem.typeOf == 'text'">
     <div onload="item=activeItem" ng-include="'views/app-builder/text.html'"></div>
</div>

ユーザーがボタンをクリックすると、activeItemをリセットするコントローラーメソッドがあります

 $scope.showDetails = function(item){
        $scope.activeItem = item;
 };

次のようなactiveItemを使用:

{  name: "Candy", typeOf: "text" }

最初は期待どおりに機能しますが、その後はネストされたパーシャルのアクティブなアイテムが更新されることはありません。参照onloadが更新されていない可能性があります。これをAngularで処理する「正しい」方法は何ですか?

4

1 に答える 1

1

常に参照を使用して、AngularJS がプロトタイプを介して変更を追跡できるようにします。これが Javascript の性質です。このアプローチを試してください:

$scope.activeItem = {};
$scope.activeItem.values = {
    name: "Candy0",
    typeOf: "text0"
}

$scope.showDetails = function (item) {
    $scope.activeItem.values = item;
}

ビューで

{{item.values.name}}
于 2013-11-14T18:58:56.850 に答える