我在我的指令模板中动态添加了ng-click,但它似乎根本没有触发(或者已经由angular编译)。这是我的gist个文件。
虽然我对示波器有问题,但我认为当前问题与示波器无关。但请随意包括我目前的范围选项可能出现的任何问题。
我的HTML中有这个结构:
main element | MainCtrl
| directive 1 | ss-pagination
| directive 1.1 | ss-pagination-previous
| directive 1.2 | ss-pagination-next
我有3条指令,1条是2条指令的父级,其模板中包含ng-click
。原因是,我有一个主要的分页指令,其中包含设置|分页的功能。另外两个用作下一个|以前的按钮。
鉴于我目前正在重构,控制器代码样式似乎与指令不同。
答案 0 :(得分:1)
我认为我发现了问题所在。将pagination-prev.directive.js
更改为使用controllerAs
,以便您可以从视图中调用控制器的功能goToPreviousPage
,如下所示:
(function(angular, undefined) {
function paginationPrevious() {
return {
restrict: 'EA',
replace: true,
transclude: true,
require: '^ssPagination',
template: getTemplate,
controller: 'PaginationPreviousCtrl',
controllerAs: 'prevCtrl'
};
function getTemplate(element, attrs) {
return [
'<div ng-transclude ',
'ng-click="prevCtrl.goToPreviousPage()">',
'</div>'
].join('');
}
}
angular
.module('app')
.directive('ssPaginationPrevious', paginationPrevious);
})(angular);