您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

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

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

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

如果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]);
}
function firstCtrl($scope)
{
    $scope.$on('someEvent', function(event, data) { console.log(data); });
}

function secondCtrl($scope)
{
    $scope.$emit('someEvent', [1,2,3]);
}
javascript 2022/1/1 18:22:28 有279人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶