0

次のコードを使用します。

<div ng-controller="mainCtrl">    
    <div ng-repeat="record in records" ng-controller="itemCtrl">
        <span>{{record}}</span><a ng-click="inc()">inc</a>
    </div>
    <p></p>
    <div ng-repeat="record in records2">
        <span>{{record}}</span><a ng-click="inc()">inc</a>
    </div>
</div>

var mainCtrl = function($scope){
    $scope.records = [
        { val: 1},
        { val: 2},
        { val: 3},
        ];

    $scope.records2 = [1, 2, 3];
}

var itemCtrl = function($scope) {
    $scope.inc = function() {
        $scope.record.val++;
    };
}

var itemCtrl2 = function($scope) {
    $scope.inc = function() {
        $scope.record++;
    };
}

「inc」リンクが両方のタイプのレコードをインクリメントすることを期待しています。ただし、双方向バインディングは、ここでは最初のタイプのレコード (オブジェクトであり、そのプロパティを更新する) に対してのみ機能しているようです。同様の問題についていくつか言及されているのを見たことがありますが、実際のバインドされたオブジェクトの変更に問題があるという印象を受けました。これは本当にそうですか?もしそうなら、私はそれが欠けている機能だと信じています.

4

2 に答える 2