调用AngularJS中的另一个控制器

时间:2017-03-28 14:34:44

标签: javascript angularjs

我在控制器1中有一个函数,它返回一个对象数组,

在Controller 2中,我必须循环访问我创建的列表,所以我认为这样可行。

 $rootScope.$emit("CallParentMethod").forEach(function(row) 

        { 
            console.log(row.key); 

        });

但是我得到的对象与我期望的格式不同,使用console.log我看到了我在Controller2中获得的对象 就像

  {name: "CallParentMethod", targetScope: l, defaultPrevented: false, currentScope: null}

那么如何循环到我从另一个控制器获得的对象。

1 个答案:

答案 0 :(得分:1)

您可以将对象传递给事件:

function letSomethingHappen() {
    $rootScope.$broadcast("CallParentMethod", {
        title: "Let's pass this string!"
    });
}

然后在你的另一个控制器中:

$rootScope.$on("CallParentMethod", function(event, passedArgs) {
    console.log(passedArgs.title); // Let's pass this string!
});