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 回答