gpt4 book ai didi

angularjs - angular.js 模块化 Controller "undefined"使用 $routeParams 时

转载 作者:行者123 更新时间:2023-12-04 10:53:40 25 4
gpt4 key购买 nike

以下在控制台中返回错误“ReferenceError: ThingCtrl is not defined”

var myApp = angular.module('myApp', []);

myApp.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/things', {templateUrl: 'partial.html', controller: ThingCtrl}).
when('/things/:id', {templateUrl: 'detail.html', controller: ThingCtrl}).
otherwise({redirectTo: '/things'});
}]);

myApp.controller('ThingCtrl', ['$scope', '$routeParams', function($scope, $routeParams) {
$scope.thing = [
{
'title':'first thing',
'first':'one',
'second': 'two',
'third': 'three'
}
];

}]);

但是,当 Controller 定义为:
function ThingCtrl($scope, $routeParams) {
$scope.thing = [
{
'title':'first thing',
'first':'one',
'second': 'two',
'third': 'three'
}
]
};

为什么它不能使用模块化语法?

最佳答案

我相信问题出在这里:

when('/things', {templateUrl: 'partial.html', controller: ThingCtrl})

这告诉 Angular 指向 ThingCtrl 对象,该对象未定义并导致错误。

尝试将 Controller 名称用引号括起来,如下所示:
when('/things', {templateUrl: 'partial.html', controller: 'ThingCtrl'})

这应该允许 Angular 正确使用依赖注入(inject)。

关于angularjs - angular.js 模块化 Controller "undefined"使用 $routeParams 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14565394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com