javascript - 如何在 Angular 指令中调用我自己的函数?

标签 javascript angularjs angular-directive

我想在我的 Angular Directive(指令)中调用“myFunc()”,我该怎么做?

myApp.directive("test", function () {
 return {
   restrict: 'A',
     template: "<div class='box'></div>",
     myFunc: function() {
                console.log('myFunc');
       },
     link: function ($scope, element, attrs) {

         element.bind('click', function () {
               myFunc(); //<------------- doesn't work
       });
     }
    } // of return
});

最佳答案

您不能在调用指令中将函数定义为返回值的属性。它需要在返回之前定义:

myApp.directive('test', function() {
    var myFunc = function() {
        console.log('myFunc');
    };

    return {
        restrict: 'A',
        template: '<div class="box"></div>',
        link: function($scope, element, attrs) {
            element.bind('click', myFunc);
        }
    };
};

或者在 link 函数中以同样的方式进行操作。

关于javascript - 如何在 Angular 指令中调用我自己的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28419792/

相关文章:

Angular 5 : Module not found: Error: Can't resolve '@angular/forms/src/validators'

javascript - 未捕获的类型错误 : $(. ..).slider 不是 Bootstrap-Slider-Rails 的函数

javascript - Facebook 登录在应用程序浏览器中的 Android Facebook 中不起作用

Angular : $watch within directive is not working when $rootScope value is changed

javascript - 从 ngView 访问链接功能?

javascript - Angular 2 将 HTML 注入(inject)内联模板

javascript - 在模板中动态插入 ng-controller 作为字符串

javascript - Chrome 中的地理位置提示对话框,如何实现?

c# - C# 库中是否有任何东西可以模拟 JavaScript 中的 Navigator 对象?

javascript - AngularJs 指令 - 绑定(bind)子元素