1

いくつかのボタンで再利用可能なディレクティブが必要ですが、ボタンが 1 つのスコープにバインドされる同じディレクティブを複数回使用しようとすると、問題が発生します。たとえば、次のコードを参照してください。

<body ng-controller="MainCtrl">
  <test></test>
  <test></test>
</body>

テストディレクティブのコードは

app.directive("test",function(){

return{
    restrict:"E",
    scope:{
          },
    template:"<input type='button' value='click me!' onclick='clickD()'>",
    controller:function($scope){
        clickD=function()
        {
            alert($scope.$id);
        }
    }
}
})

こちらの例もリンクで見ることができます

さて、スコープを別々にするにはどうすればよいですか。私の実際の問題はかなり不器用なので、このレベルまで単純化しました。助けてください!!!

4

1 に答える 1

2

あなたは使用する必要はng-clickありませんonclick、またclickD()あなたの$scope

app.directive("test", function () {

    return {
        restrict: "E",
        scope: {},
        template: "<input type='button' value='click me!' ng-click='clickD()'>",
        controller: function ($scope) {
            $scope.clickD = function () {
                alert($scope.$id);
            }
        }
    }
})

更新されたplnkr

于 2013-08-19T15:17:54.283 に答える