AngularJS通过自定义指令传递单击的项目

时间:2015-03-27 02:18:38

标签: javascript angularjs directive

我正在编写自定义指令。

<ng-selectbox select-function="selectitem(codes)" items="codes"></ng-selectbox> 

code.controller("codeCtrl", function($scope) {  
  $scope.selectitem = function(item){
    alert(item);
  };
});

code.directive("ngSelectbox", function(){
  return {
    restrict: "E",
    scope: {
      items: "=",
      selectFunction: "&"
    },
    template:
    "<div>" +
    "<ul ng-repeat='item in items'>" +
    "<li ng-click='selectFunction(item)'>{{item.TYPE}}</li>" +
    "</ul>" +
    "</div>"
  };
});

点击ng-repeat中的项目时, 我想通过selectFunction传递点击的项目, 但它不起作用。 :(

我不知道我应该在html select-function中添加什么参数。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

您可以尝试将模板更改为

"<li ng-click='selectFunction({item:item})'>{{item.TYPE}}</li>"

并检查它是否有效。

检查我真正的旧答案,了解更多背景Can an angular directive pass arguments to functions in expressions specified in the directive's attributes?