当前位置: 首页 > 面试题库 >

有人可以为AngularJS中的范围提供$ destroy事件的示例吗?

赫连冠玉
2023-03-14
问题内容

有人可以提供范围$
destroy事件的示例吗?这是来自http://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$destroy的参考文档

$ destroy()

从父范围中删除当前范围(及其所有子级)。删除意味着对$ digest()的调用将不再传播到当前作用域及其子级。删除还意味着当前范围可以进行垃圾回收

$ destroy()通常由ngRepeat之类的指令用于管理循环的展开。

就在作用域被销毁之前,将在该作用域上广播$ destroy事件。应用程序代码可以注册$ destroy事件处理程序,这将使它有机会执行任何必要的清除。


问题答案:

演示:http://jsfiddle.net/sunnycpp/u4vjR/2/

在这里,我创建了 handle-destroy 指令。

ctrl.directive('handleDestroy', function() {
    return function(scope, tElement, attributes) {        
        scope.$on('$destroy', function() {
            alert("In destroy of:" + scope.todo.text);
        });
    };
});


 类似资料:
  • 问题内容: Angularjs文档给出$ controller服务的用法如下: 任何人都可以将重点放在这两个方面: 何时使用 $ controller 服务。请提供一些用例。 有关传递给它的’locals’参数的详细信息。 问题答案: 您可以创建将在$ scope上执行的通用函数,并将其命名为一个控制器。 并在其他控制器中注入此控制器,然后说“ TestCtrl1”,例如 在这里,在$ contr

  • 问题内容: 我想知道如何在给定父范围的情况下获取所有子范围的列表。我可以从该范围的属性中找到$ childHead,$ childTail,$ nextSibling和$$ prevSibling。 我现在使用的方法是从父级获取childHead,然后使用nextSibling获取下一个孩子,直到nextSibling为空。 有没有更好的方法?鉴于我想在所有子项上调用方法[getModel],是否

  • 问题内容: 在父控制器作用域中,我已定义将其设置为“ x”。然后在子范围中,我使用ngModel 进行了定义: 加载页面后,会按预期正确设置为“ x”。当我选择“ y”时,在CtrlB中$ scope会按预期给出“ y”。 但是,当我检查的范围(使用AngularJS的batarang),它给“X”。 jsFiddle:http : //jsfiddle.net/sudhh/GGKjp/2/ 预览

  • 根据Maven完整参考中的图像,当直接依赖关系范围为“编译”并且传递依赖关系的范围为“提供”时,传递依赖关系将被忽略。 我的问题是,如果直接依赖类从我的项目的传递依赖编译中扩展一个类将失败,因为在编译时'javac'将从传递依赖中寻找由直接依赖扩展的类,并且不会在编译时类路径中找到它,因为maven忽略了它。 基本上这就是编译直接依赖时编译传递依赖范围而不是运行时的原因,为什么提供传递依赖范围时不

  • 我最近发现龙目山。jar最终会出现在我们的最终工件中,这应该是不必要的。在我看来,lombok只是编译时的。 但是当我将它设置为提供的范围时,我在单元测试中会遇到奇怪的行为。当试图解决时,它们会与ClassNotFoundExceptions崩溃 龙目山通常使用哪种maven范围? 我在MacOSX 10.9上使用Oracle JDK build 1.8.0_25-b17

  • 问题内容: 我正在使用babel和webpack来玩React(@ 13.3)。 我有一个定义如下的组件: 但我收到以下错误: 未捕获的ReferenceError:未定义React 我理解错误:JSX位已编译到其中,但由于未导入而不在当前范围内。 我的问题是:解决此问题的干净方法是什么?我是否必须以某种方式在全球范围内公开使用webpack? 使用的解决方案: 我遵循@ salehen-rahm