javascript - 有必要在 Angular 指令链接内命名函数吗?

标签 javascript angularjs function hyperlink directive

我正在 Codecademy 上进行 feedster 练习,在让按钮显示在 View 中时遇到问题,这一定是我的语法问题。

原始代码不起作用,因为将函数命名为内联

app.directive('plusOne',function(){
  return {
    restrict: 'E',
    scope: {},
    templateUrl: 'js/directives/plusOne.html',
    link like(): function(scope, element, attrs) {
        scope.like = function(){
            element.toggleClass('btn-like');
        }; // internal function
    }; // link like function
  }; // return
}); // directive 

在线搜索只能得到编译和链接理论的解释。 ""但是有必要在“链接”级别将函数命名为内联吗?

工作代码

app.directive('plusOne',function(){
    return {
        restrict: 'E',
        scope: {},
        templateUrl: 'js/directives/plusOne.html',
        link: function(scope,element,attrs) {
            scope.like = function(){
                element.toggleClass('btn-like')
            }
        }
    };
});

显然这只是该问题的措辞问题。它只需要一个匿名函数。

最佳答案

命名内联函数的语法是:

link: function like(scope, element, attrs) {

话虽如此,此时您实际上无法用它做任何事情,您可以/应该考虑使用类似的东西来分别清楚地定义您的链接函数和指令定义:

app.directive('plusOne',function(){
  function link(scope, element, attrs) {
        scope.like = function(){
            element.toggleClass('btn-like');
        }; // internal function
  }

  return {
    restrict: 'E',
    scope: {},
    templateUrl: 'js/directives/plusOne.html',
    link: link
  }; // return
}); // directive

关于javascript - 有必要在 Angular 指令链接内命名函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30388103/

相关文章:

javascript - jquery- 不能动画化颜色/css 的变化吗?

javascript - JQuery——阻止 .html() 值改变

angularjs - 如何向 AngularUI 日历添加图标

c++ - 是否在 C++ 中使用 double() 函数?

php - 调用未定义的函数 str_contains() php

javascript - 如何捕获多个功能的拒绝?

javascript - 禁用 ng repeat 中的按钮

javascript - 以 Angular 扩展现有服务

javascript 使用非内联函数

javascript - 使用新图形 API 在 Facebook Canvas 应用程序中进行身份验证