我的代码看起来像这样
angular
.module('main', ['ngRoute'])
.config(['$routeProvider',
($routeProvider) ->
$routeProvider
.when '/',
templateUrl: 'homePage/homePage.html'
controller: 'MainCtrl'
])
angular.module('main').controller('MainCtrl',
['$scope' , ($scope) ->
$scope.test = {}])
浏览器将获得Error: [ng:areq] Argument 'MainCtrl' is not a function, got Object
。
但如果我不在MainCtrl
中使用内联数组依赖注入并重写它,请执行以下操作:
angular.module('main').controller('MainCtrl',
($scope) ->
$scope.test = {})
然后一切顺利。有没有人有这个想法?谢谢!
答案 0 :(得分:2)
由于错误消息非常明确,问题不在于$routeProvider
,您可能需要对其进行重组。另请注意,配置块必须具有一个功能。
首先创建模块,然后注册控制器并配置:
angular
.module('main', ['ngRoute']);
然后使用它或链接,即
angular.module("main", ["ngRoute"]).controller("MainCtrl", [
"$scope"
($scope) ->
return $scope.test = {}
]).config [
"$routeProvider"
($routeProvider) -> //Check this
return $routeProvider.when("/",
templateUrl: "homePage/homePage.html"
controller: "MainCtrl"
)
]
否则,根据脚本的顺序,您尝试在应用main
之前创建一个控制器,直到它存在。
另请注意,您还需要包含angular-router脚本。
<强> Demo 强>