Angularjs $destroy是$broadcast(名称,args)的对立面吗?

Angularjs $destroy是$broadcast(名称,args)的对立面吗?,angularjs,angularjs-scope,Angularjs,Angularjs Scope,正如标题所要求的那样。它们是相反的吗? 另外,如何根据事件名称从$rootScope中删除事件 一个简单的例子也很受欢迎。$destroy既是每个作用域将侦听的事件,也是作用域上手动触发该事件的方法 它主要用于在作用域被破坏时执行您想要的任何操作。范围被破坏的实例有: 通过ng view切换视图,以前的控制器作用域将被销毁 一个指令被实例化,该元素被从DOM中删除,这适用于angular框架和custom中的所有指令 而另一方面,$broadcast仅用于触发当前级别或子级别范围内的事件 它们并

正如标题所要求的那样。它们是相反的吗? 另外,如何根据事件名称从
$rootScope
中删除事件


一个简单的例子也很受欢迎。

$destroy
既是每个作用域将侦听的事件,也是作用域上手动触发该事件的方法

它主要用于在作用域被破坏时执行您想要的任何操作。范围被破坏的实例有:

  • 通过ng view切换视图,以前的控制器作用域将被销毁
  • 一个指令被实例化,该元素被从DOM中删除,这适用于angular框架和custom中的所有指令
  • 而另一方面,
    $broadcast
    仅用于触发当前级别或子级别
    范围内的事件

    它们并非相反。

    关于如何从$rootScope中删除事件的第二个问题

    假设您已经优化了事件侦听器:

    $rootScope.$on("myEvent", function () {
    //some code
    });
    
    每个事件侦听器返回一个
    取消注册
    函数。因此,您可以使用以下内容:

    var removeMyEvent = $rootScope.$on("myEvent", function () {
    //some code
    });
    
    无论何时,只要调用
    取消注册
    函数,就可以删除事件侦听器

    removeMyEvent();
    

    那就应该成功了

    $destroy
    既是每个作用域将侦听的事件,也是作用域上手动触发该事件的方法

    它主要用于在作用域被破坏时执行您想要的任何操作。范围被破坏的实例有:

  • 通过ng view切换视图,以前的控制器作用域将被销毁
  • 一个指令被实例化,该元素被从DOM中删除,这适用于angular框架和custom中的所有指令
  • 而另一方面,
    $broadcast
    仅用于触发当前级别或子级别
    范围内的事件

    它们并非相反。

    关于如何从$rootScope中删除事件的第二个问题

    假设您已经优化了事件侦听器:

    $rootScope.$on("myEvent", function () {
    //some code
    });
    
    每个事件侦听器返回一个
    取消注册
    函数。因此,您可以使用以下内容:

    var removeMyEvent = $rootScope.$on("myEvent", function () {
    //some code
    });
    
    无论何时,只要调用
    取消注册
    函数,就可以删除事件侦听器

    removeMyEvent();
    

    那就应该成功了

    $destroy
    既是每个作用域将侦听的事件,也是作用域上手动触发该事件的方法

    它主要用于在作用域被破坏时执行您想要的任何操作。范围被破坏的实例有:

  • 通过ng view切换视图,以前的控制器作用域将被销毁
  • 一个指令被实例化,该元素被从DOM中删除,这适用于angular框架和custom中的所有指令
  • 而另一方面,
    $broadcast
    仅用于触发当前级别或子级别
    范围内的事件

    它们并非相反。

    关于如何从$rootScope中删除事件的第二个问题

    假设您已经优化了事件侦听器:

    $rootScope.$on("myEvent", function () {
    //some code
    });
    
    每个事件侦听器返回一个
    取消注册
    函数。因此,您可以使用以下内容:

    var removeMyEvent = $rootScope.$on("myEvent", function () {
    //some code
    });
    
    无论何时,只要调用
    取消注册
    函数,就可以删除事件侦听器

    removeMyEvent();
    

    那就应该成功了

    $destroy
    既是每个作用域将侦听的事件,也是作用域上手动触发该事件的方法

    它主要用于在作用域被破坏时执行您想要的任何操作。范围被破坏的实例有:

  • 通过ng view切换视图,以前的控制器作用域将被销毁
  • 一个指令被实例化,该元素被从DOM中删除,这适用于angular框架和custom中的所有指令
  • 而另一方面,
    $broadcast
    仅用于触发当前级别或子级别
    范围内的事件

    它们并非相反。

    关于如何从$rootScope中删除事件的第二个问题

    假设您已经优化了事件侦听器:

    $rootScope.$on("myEvent", function () {
    //some code
    });
    
    每个事件侦听器返回一个
    取消注册
    函数。因此,您可以使用以下内容:

    var removeMyEvent = $rootScope.$on("myEvent", function () {
    //some code
    });
    
    无论何时,只要调用
    取消注册
    函数,就可以删除事件侦听器

    removeMyEvent();
    
    那就应该成功了