Angularjs 使用ng点击指令';s模板调用其他指令
我想在指令的模板中使用Angularjs 使用ng点击指令';s模板调用其他指令,angularjs,angularjs-directive,Angularjs,Angularjs Directive,我想在指令的模板中使用ng click,但我不知道如何将另一个指令传递给它。我的代码如下: template: ` <ul><li ng-repeat="link in $ctrl.map" ng-click="page-scroll-to={{link[1]}}">{{link[0]}}</li></ul> ` 很明显,它不起作用。我怎样才能做到这一点呢?在您的指令中,只需在元素上放置一个单击处理程序 模板: <ul>
ng click
,但我不知道如何将另一个指令传递给它。我的代码如下:
template: `
<ul><li ng-repeat="link in $ctrl.map" ng-click="page-scroll-to={{link[1]}}">{{link[0]}}</li></ul>
`
很明显,它不起作用。我怎样才能做到这一点呢?在您的指令中,只需在元素上放置一个单击处理程序 模板:
<ul>
<li ng-repeat="link in $ctrl.map" page-scroll-to="link[1]">
{{link[0]}}
</li>
</ul>
在指令中,只需在元素上放置一个单击处理程序 模板:
<ul>
<li ng-repeat="link in $ctrl.map" page-scroll-to="link[1]">
{{link[0]}}
</li>
</ul>
你的第二个目录在哪里?你是说指令?我已经发布了。你应该创建滚动服务并点击调用它。您在
ng click
中写入了指令名,这没有意义。这没有意义。ng click需要一个角度表达式,而不是指令的名称。因此我无法在ng click
上调用指令?好的,我明白。你的第二个目录在哪里?你是说指令?我已经发布了。你应该创建滚动服务并点击调用它。您在ng click
中写入了指令名,这没有意义。这没有意义。ng click需要一个角度表达式,而不是指令的名称。因此我无法在ng click
上调用指令?好的,我明白了。
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);
});
}
};
});