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);
            });
        }
    };
});