栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript使用$ scope。$ emit和$ scope。$ on

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript使用$ scope。$ emit和$ scope。$ on

首先,父子范围关系确实很重要。你有两种可能性发出某些事件:

  • $broadcast
    -将事件向下分发到所有子范围,
  • $emit
    -通过范围层次结构向上调度事件。

我对你的控制器(作用域)关系一无所知,但是有几种选择:

如果scope of

firstCtrl
是作用域的父级,则
secondCtrl
你的代码应通过替换
$emit
$broadcastin
来工作
firstCtrl

function firstCtrl($scope){    $scope.$broadcast('someEvent', [1,2,3]);}function secondCtrl($scope){    $scope.$on('someEvent', function(event, mass) { console.log(mass); });}

如果你的范围之间没有父子关系,则可以注入

$rootScope
控制器并将事件广播到所有子范围(即
secondCtrl
)。

function firstCtrl($rootScope){    $rootScope.$broadcast('someEvent', [1,2,3]);}
  1. 最后,当你需要将事件从子控制器分派到向上作用域时,可以使用
    $scope.$emit
    。如果的范围
    firstCtrl
    是范围的父级
    secondCtrl
function firstCtrl($scope){    $scope.$on('someEvent', function(event, data) { console.log(data); });}function secondCtrl($scope){    $scope.$emit('someEvent', [1,2,3]);}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/372223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号