Angularjs用控制器解析为字符串
发布时间:2020-12-17 08:17:04 所属栏目:安全 来源:网络整理
导读:写入角度控制器的风格是这样的(使用控制器名称而不是功能) angular.module('mymodule',[]) .controller('myController',[ '$scope',function($scope) { // Some code here } ]); 我现在需要的是提供i路由我想定义解析部分: $routeProvider.when('/someroute
写入角度控制器的风格是这样的(使用控制器名称而不是功能)
angular.module('mymodule',[ ]) .controller('myController',[ '$scope',function($scope) { // Some code here } ]); 我现在需要的是提供i路由我想定义解析部分: $routeProvider.when('/someroute',{ templateUrl: 'partials/someroute.html',resolve: myController.resolve}) // THIS IS THE CRITICAL LINE 由于控制器被定义为如何完成解析部分的名称? 要澄清更多的细节,我想在路由解析之前从服务器加载一些数据,然后在控制器中使用这些数据。 更新:要更准确地说,我希望每个模块都有其“解析”功能,将在root执行之前调用该控制器。 this post中的解决方案(由Misko Hevery回答)完全是我想要的,但是我没有控制器作为功能,而是一个名字。
控制器定义和解析部分将在路由定义上单独指定。
如果您在模块级别定义控制器,则需要将其引用为字符串,因此: $routeProvider.when('/someroute',controller: 'myController',resolve: { myVar: function(){ //code to be executed before route change goes here }; }); 上面的代码还显示了如何定义一组将在路由更改之前解决的变量。当解决这些变量可以注入控制器时,从上面的代码片段中获取示例,您将如下编写控制器: .controller('myController',['$scope','myVar',function($scope,myVar) { // myVar is already resolved and injected here } ]); 这个视频也可以帮助:http://www.youtube.com/watch?v=P6KITGRQujQ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |