在子状态angularjs上调用函数

时间:2015-02-15 16:42:45

标签: angularjs

在我的视图中有一个调用类似:<a href=/albums ng-click='findAll()'>的函数的链接,并且一切正常,但是当你直接输入到URL /相册时没有任何反应,findAll()函数不会触发。< / p>

我的问题是,使用Angular中的状态可以做什么,当执行此状态以自动调用该函数findAll()并使用数据呈现视图时。

Kinldy问候,

1 个答案:

答案 0 :(得分:1)

为此,您可以将您的功能添加到$rootScope。为您的父控制器注入$rootScope

app.controller('parentCtrl', function($rootScope, $scope){

    $rootScope.findAll = function(){

    /* your code here */

    };

});

<div ng-controller='parentCtrl' ng-init='findAll()'></div> <!-- parent Div --> 

或者您可以使用运行功能

app.run(function($rootScope) {

        $rootScope.findAll = function(){

        /* your code here */

        };

$rootScope.findAll(); // Call when angular bootstrap 

});

对于您的子控制器,您可以使用ng-init自动调用它

<div ng-controller='childCtrl' ng-init='findAll()'></div> <!-- child Div -->