如何测试$ rootScope的动态名称。$ emit事件?

时间:2017-09-08 16:23:18

标签: javascript angularjs

我已经阅读过这篇文章,但是这篇文章是关于$ rootscope中的名字的。我是静态的

How can I test $rootScope.$emit event?

我的问题是我的发音名称是dymaic,我该如何测试呢?

vm.$rootScope.$emit('FooEvent' + vm.numberCount, 'Foo');

vm.$rootScope.$on('FooEvent' + (vm.numberCount), function (event, data) {

                });

1 个答案:

答案 0 :(得分:0)

更好的方法是不要将事件名称设置为动态,并将vm.numbercount放入事件的有效负载中。你可以这样做:

vm.$rootScope.$emit('FooEvent', 'Foo', vm.numberCount);

vm.$rootScope.$on('FooEvent', function (event, ...args) {
  //   args[0] => 'Foo'
  //   args[1] => vm.numberCount
});