加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS – 在定制指令中访问点击

发布时间:2020-12-17 07:45:55 所属栏目:安全 来源:网络整理
导读:我试图让我的头指向,我可以很容易地使用模板功能抛出我的 HTML,但是,如果我有一个ng点击在我的模板,我如何访问链接功能? 我的指令: app.directive('directiveScroll',function () {return { restrict: 'AE',replace: 'true',template: 'div class="scroll-
我试图让我的头指向,我可以很容易地使用模板功能抛出我的 HTML,但是,如果我有一个ng点击在我的模板,我如何访问链接功能?

我的指令:

app.directive('directiveScroll',function () {
return {
      restrict: 'AE',replace: 'true',template:   '<div class="scroll-btns">' +
            '<div class="arrow-left" ng-click="scrollLeft(sectionID)"></div>' +
            '<div class="arrow-right" ng-click="scrollRight(sectionID)"></div>' +
        '</div>',link: function(scope,elem,attrs) {
        $scope.scrollRight  = function () {
          console.log("scrollRight  clicked");
        };
        $scope.scrollLeft  = function () {
          console.log("scrollLeft  clicked");
        };
      }
  };
});

如你所见,我已经添加了$scope.scrollRight到我的链接功能,但是在点击,任何东西都不会出现在控制台中.

如果我放置:

$scope.scrollRight  = function () {
     console.log("scrollRight  clicked");
};

$scope.scrollLeft  = function () {
     console.log("scrollLeft  clicked");
};

在我的控制器(和我的指令),它的工作原理.

任何帮助赞赏.

您的链接功能定义如下:
link: function(scope,attrs) {..}

但是您正在$scope变量上编写函数:

$scope.scrollRight  = function () {
      console.log("scrollRight  clicked");
    };
    $scope.scrollLeft  = function () {
      console.log("scrollLeft  clicked");
    };

在这种情况下,$范围实际上并不注入链接函数(并且不能被注入),所以链接只是简单的参数参数.您应该将$范围更改为范围,它应该工作:

scope.scrollRight  = function () {
      console.log("scrollRight  clicked");
    };
    scope.scrollLeft  = function () {
      console.log("scrollLeft  clicked");
    };

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读