0

ここに私の問題があります: ng-repeat を使用して動的にボタンを作成し、その ng-click が機能しません。これまでに見つけたものから、これらのボタンをコンパイルして、角度が新しいディレクティブを認識していることを確認する必要がありますが、その方法がわかりません。そのための新しいディレクティブを作成しようとしましたが、まだ機能していないため、何か間違ったことをしているに違いありません。

HTML:

<div ng-controller="content">
    <ul>
        <li ng-repeat="item in items">
            <span>item.text {{$index}}</span>
            <button ng-click="deleteItem({{$index}})">Delete item</button>
        </li>
    </ul>

    <button ng-click="addItem()">Add item</button>
</div>

JS:

function content($scope) {
    $scope.items = [];

    $scope.addItem = function() {
        $scope.items.push({text: "test"});
    };

    $scope.deleteItem = function(index) {
        $scope.items.splice(index, 1);
    };
}

答えてくれてありがとう。

4

1 に答える 1

1

あなたの構文は、でわずかにずれていng-repeatます。これに変更してみて、動作するかどうかを確認してください。

<button ng-click="deleteItem($index)">Delete item</button>

neverの中に入れる式には、そのng-clickような補間ブレースが必要です。そこに入力したものはすべて、現在のスコープのコンテキストに対して既に評価されています。

新しいディレクティブを作成していないため (少なくともこの例では示されています)、何も心配する必要はありません。

于 2013-04-07T14:36:21.907 に答える