角度版本:1.4.9
您好,
我正在打包一个用John Papa代码风格编写的角度Web应用程序。但是我一直面临着基本问题。其中一个是设置routeProvider。我想在控制器文件中配置它,但似乎不起作用。当我在模块配置中直接配置它时,它不接受控制器作为语法...
在mycontroller.js文件
上// Has no effect
angular.module('myDearModule').
controller('MyController', MyControllerFn).
config(function($routeProvider) {
$routeProvider.when('/page', {
templateUrl: 'tpl.html',
controller: 'MyController',
controllerAs: 'mycontrollerVm'
});
});
function MyControllerFn() {
....
现在,如果我在加载所有内容后尝试使用某种module.routing.js文件
// After setting up module and controller
angular.module('myDearModule').
config(function($routeProvider) {
$routeProvider.when('/page', {
templateUrl: 'tpl.html',
controller: 'MyController',
controllerAs: 'mycontrollerVm'
});
});
没有效果......我也收到了这个错误: [ng:areq] Argument' MyController'不是一个功能。未定义
我尝试使用此建议在视图之间切换:Using angular $routeProvider with packaged apps
指令和路由工作正常,但没有设置控制器:(
在视图中使用ngController语法时会发生同样的错误。
我需要使用路由来保持此网络正常运行。我做错了什么还是没有办法?有人可以在Chrome应用程序中向我展示控制器的示例吗?我发现只有简单的例子(根本没有路由或页面更改)。
答案 0 :(得分:0)
'MyController' is not a function. Got undefined
可能意味着您的控制器中存在语法错误。加载控制器,过滤器等应该没有错误消息。如果您发现任何错误并进行更正,controllerAs
应该按预期工作。