我不确定这是否是一个已知的错误(甚至是一个错误...)但是我无法在角度问题列表中找到它,也许我做错了什么:
.directive('clickTest', function () {
return {
transclude: true,
template: '<div ng-click="click()" style="width:200px; height:200px;">Click me<div ng-transclude></div></div> Clicked {{clicked}} times',
controller: function($scope, $element){
$scope.clicked = 0;
$scope.click = function() {
$scope.clicked++;
}
}
}
所以我基本上将指令添加到我页面上的元素中。该指令在模板中具有ng-click处理程序并转换现有元素。 ng-click运行click()函数,该函数应触发当前作用域的单击。
在Chrome中,当我点击按钮时,计数器会上升1.
如果我在IE11中做同样的事情 没有任何反应 。我一直试图让这个工作有一段时间,因为我的大多数目标受众都将使用IE
我认为这应该有效 - 据我所知,angular应该在转换后编译模板以识别需要使用的任何其他指令
我做错了什么还是点击这个?
答案 0 :(得分:1)
知道这是我做错了 - 正如评论者所说的那样,因为我试图将指令添加到<button>
元素。
我将元素包装在<div>
中,然后将指令应用于该指令并且它有效!