单击事件时调用作用域方法的角度指令

你好

我有一个带有k-grid-cancel-changes类的按钮的网格。我想创建一个指令,该指令将click事件附加到该按钮并在页面范围内调用方法

    .directive('kGridCancelChanges', function () { 
               return {
                restrict: 'C',                
                scope: {
                    onCancelChanges: "&"
                },
                controller: function ($scope, $element, $attrs, $location) {
                    $element.click(function () {
                        $scope.onCancelChanges();
                    });
                }

            }
});

当我按下按钮时,我可以看到$ scope.onCancelChanges()从我的指令中被触发,但是它从未到达页面范围内的函数。

 $scope.onCancelChanges = function () {
               alert('test');
            }

我将不胜感激任何建议

dfsq

如果要在范围内调用函数,则必须这样提供:

<button class="k-grid-cancel-changes" on-cancel-changes="onCancelChanges()">test</button>

演示:http : //plnkr.co/edit/8vQ1wmdriGrDFGZwhqW2?p=preview

如果由于某种原因您不能修改HTML代码(例如,它是由Kendo动态呈现的)并且不能添加属性,那么您只能访问要通过$parent作用域引用进行调用的函数

$scope.$parent.onCancelChanges();

演示:http//plnkr.co/edit/tpEEZs9VQunKXABud9yN?p = preview

最后,如果指令的隔离范围不是主要的,那么您可以简单地调用该函数,因为它具有相同的范围:

.directive('kGridCancelChanges', function() {
    return {
        restrict: 'C',
        controller: function($scope, $element, $attrs, $location) {
            $element.click(function() {
                $scope.onCancelChanges();
            });
        }
    }
});

演示:http : //plnkr.co/edit/0OmlCJ6SgYU2GQRyBgYj?p=preview

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Angular:如何在状态更改时调用作用域方法?

来自分类Dev

Angular:如何在状态更改时调用作用域方法?

来自分类Dev

在DOM事件处理程序中直接调用作用域函数的最短方法是什么

来自分类Dev

在onkeydown事件中调用作用域函数

来自分类Dev

角度指令作用域问题

来自分类Dev

单击输入标签时调用指令功能

来自分类Dev

AngularJs指令:从模板中的父作用域调用方法

来自分类Dev

AngularJs指令:从模板中的父作用域调用方法

来自分类Dev

角度指令:作用域vs bindToController

来自分类Dev

从角度来看,如何测试我的指令中正在调用的作用域函数?

来自分类Dev

如何从带参数的指令中调用角度控制器作用域函数?

来自分类Dev

为什么单击事件在成功时调用模糊事件

来自分类Dev

在JQuery中单击时调用ColdFusion方法

来自分类Dev

单击按钮时调用异步方法

来自分类Dev

单击按钮时调用Java方法

来自分类Dev

AngularJS指令作用域函数未调用

来自分类Dev

如何在指令中使用作用域的变量?

来自分类Dev

将$ compile用作子指令时,作用域错误

来自分类Dev

角度:函数调用作为指令的属性值

来自分类Dev

角度指令-作用域内部未定义

来自分类Dev

处理Angular指令中的父作用域单击

来自分类Dev

使用android数据绑定在按钮单击时调用方法(已在片段中定义)不起作用。?

来自分类Dev

将事件发送到作用域中的角度指令函数

来自分类Dev

在角度指令中调用函数并在参数中注入事件

来自分类Dev

使用jQuery第二次单击时调用的复选框的单击事件

来自分类Dev

jQuery 在单击不同元素时调用相同的方法

来自分类Dev

仅在单击时调用和执行 rails 方法

来自分类Dev

单击角度指令

来自分类Dev

使用控制器作用域数据的调用指令

Related 相关文章

  1. 1

    Angular:如何在状态更改时调用作用域方法?

  2. 2

    Angular:如何在状态更改时调用作用域方法?

  3. 3

    在DOM事件处理程序中直接调用作用域函数的最短方法是什么

  4. 4

    在onkeydown事件中调用作用域函数

  5. 5

    角度指令作用域问题

  6. 6

    单击输入标签时调用指令功能

  7. 7

    AngularJs指令:从模板中的父作用域调用方法

  8. 8

    AngularJs指令:从模板中的父作用域调用方法

  9. 9

    角度指令:作用域vs bindToController

  10. 10

    从角度来看,如何测试我的指令中正在调用的作用域函数?

  11. 11

    如何从带参数的指令中调用角度控制器作用域函数?

  12. 12

    为什么单击事件在成功时调用模糊事件

  13. 13

    在JQuery中单击时调用ColdFusion方法

  14. 14

    单击按钮时调用异步方法

  15. 15

    单击按钮时调用Java方法

  16. 16

    AngularJS指令作用域函数未调用

  17. 17

    如何在指令中使用作用域的变量?

  18. 18

    将$ compile用作子指令时,作用域错误

  19. 19

    角度:函数调用作为指令的属性值

  20. 20

    角度指令-作用域内部未定义

  21. 21

    处理Angular指令中的父作用域单击

  22. 22

    使用android数据绑定在按钮单击时调用方法(已在片段中定义)不起作用。?

  23. 23

    将事件发送到作用域中的角度指令函数

  24. 24

    在角度指令中调用函数并在参数中注入事件

  25. 25

    使用jQuery第二次单击时调用的复选框的单击事件

  26. 26

    jQuery 在单击不同元素时调用相同的方法

  27. 27

    仅在单击时调用和执行 rails 方法

  28. 28

    单击角度指令

  29. 29

    使用控制器作用域数据的调用指令

热门标签

归档