在指令模板上使用 ng-click 时在控制器中未定义
got undefined in controller while use ng-click on directive template
我没能在父控制器中获取事件。尝试了很多解决方案,但总是得到 undefined
此外,如果我在 link 函数中调用该函数并从那里调用控制器,则它无法正常工作(但在 link 函数中打印正确的对象)
感谢
页数:
<slider update-event="updateEvent(event)"></slider>
控制器:
$scope.updateEvent= function(event) {
console.log(event);
}
指令模板:
<ul>
<li ng-click='updateEvent(event)' ng-repeat="event in events track by $index"><li>
</ul>
指令代码:
restrict: "AE",
templateUrl: "s.html",
replace: true,
scope:{
updateEvent: '&',
},
link: function (scope,element, attrs, ctrl) {
}
将您的模板更改为:
<ul>
<li ng-click='updateEvent({event: event})' ng-repeat="event in events track by $index"><li>
</ul>
这应该足够了(参见 here)
我没能在父控制器中获取事件。尝试了很多解决方案,但总是得到 undefined
此外,如果我在 link 函数中调用该函数并从那里调用控制器,则它无法正常工作(但在 link 函数中打印正确的对象)
感谢
页数:
<slider update-event="updateEvent(event)"></slider>
控制器:
$scope.updateEvent= function(event) {
console.log(event);
}
指令模板:
<ul>
<li ng-click='updateEvent(event)' ng-repeat="event in events track by $index"><li>
</ul>
指令代码:
restrict: "AE",
templateUrl: "s.html",
replace: true,
scope:{
updateEvent: '&',
},
link: function (scope,element, attrs, ctrl) {
}
将您的模板更改为:
<ul>
<li ng-click='updateEvent({event: event})' ng-repeat="event in events track by $index"><li>
</ul>
这应该足够了(参见 here)