我想在我的指令模板中使用ng-click
,但我不知道如何将另一个指令传递给它。我的代码如下:
template: `
<ul><li ng-repeat="link in $ctrl.map" ng-click="page-scroll-to={{link[1]}}">{{link[0]}}</li></ul>
`
Secound指令:
app.directive('pageScrollTo', () => {
return {
link(scope, el, attrs) {
const scroll = attrs.pageScrollTo;
window.scrollTo(0, scroll);
}
};
});
显然,它不起作用。我怎样才能做到这一点?
答案 0 :(得分:0)
在你的指令中,只需在元素上放置一个点击处理程序。
模板:
<ul>
<li ng-repeat="link in $ctrl.map" page-scroll-to="link[1]">
{{link[0]}}
</li>
</ul>
指令:
app.directive('pageScrollTo', () => {
return {
link: function (scope, elem, attrs) {
elem.on("click", function clickHandler(e) {
var scroll = scope.$eval(attrs.pageScrollTo);
window.scrollTo(0, scroll);
});
}
};
});