Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS:将函数附加到控制器负载_Angularjs - Fatal编程技术网

AngularJS:将函数附加到控制器负载

AngularJS:将函数附加到控制器负载,angularjs,Angularjs,是否可以在angular加载控制器时附加调用的函数 我想重复这一点: (function (angular) { angular.module("mymodule") .controller("mycontroller", [ function () { console.info("mycontroller loaded"); } ]); })(angular); 因此,console.info(“myco

是否可以在angular加载控制器时附加调用的函数

我想重复这一点:

(function (angular) {

    angular.module("mymodule")
    .controller("mycontroller", [

        function () {
            console.info("mycontroller loaded");
        }

    ]);

})(angular);
因此,
console.info(“mycontroller加载”)行自动执行,无需在每个控制器中插入该行

.service('loadService', function(){
  return{
    loaded: function () {
        console.info("mycontroller loaded");
    }
  }
})

是否有可用于此目的的事件/提供商?

创建服务

创建一个加载服务并在每个控制器中实例化它

.service('loadService', function(){
  return{
    loaded: function () {
        console.info("mycontroller loaded");
    }
  }
})
现在您的控制器可以如下所示

.controller('myController', function(loadService){
  loadService.loaded();
  //the rest of your controller//
})
您想在控制器之间共享的任何功能都可以通过服务或工厂完成。

您可以使用

 $scope.$on('$locationChangeStart', function (ng_event, ng_newUrl, ng_oldUrl){

 });
每次在控制器中加载时都会调用它

(function (angular) {

   angular.module("mymodule").controller("mycontroller", ['$scope', function ($scope) {

   $scope.$on('$locationChangeStart', function (ng_event, ng_newUrl, ng_oldUrl){

   });

  }]);

})(angular);

直接在控制器中写入而不使用函数?您是指每次调用应用程序中的控制器时都会加载的函数吗?比如当你切换页面,控制器改变功能加载时?您可以使用在每个控制器的第一行实例化的服务来实现这一点。@JoeLloyd是的,只是,我不想在每个控制器上重复同一行。我只是在猜测是否有一个事件或其他东西,我可以附加到它以获得相同的结果,而不必记住在每个控制器上添加行。我不想在每个控制器上重复相同的行。我只是在猜测是否有一个事件或其他事情,我可以附加到它来实现相同的结果,而不必记住在每个控制器上添加行。如果你想让控制器做某事,你必须告诉它。我认为这将是最干净的方法,因为它折射出你的代码,只需要你添加2个单词。我认为QO正在寻找类似拦截器的东西。