我在app.js文件下面
var app = angular.module('base', ['ngRoute']);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/categories', {
templateUrl: 'views/cat.view.html',
controller: 'CatCtrl'
})
}]);
这是CatCtrl.js文件
angular.module('base').controller('CatCtrl', ['$scope', '$http', function ($scope, $http) {
$http.get('/categories').success(function (data) {
$scope.categories = data;
});
}]);
这是cat.view.html
<div ng-controller="CatCtrl">
<div class="row">
<div class="categories">
Cats View
</div>
</div>
</div>
我已将ng-app="base"
添加到我的index.html文件中。
我正在追踪错误
Error: [ng:areq] Argument 'CatCtrl' is not a function, got undefined
我正在使用angularjs 1.4.7
。
我已经在stackoverflow上查看了其他答案来解决这个问题但是没有一个能为我工作。 如何解决此错误?
更新
以下是Plunk
答案 0 :(得分:0)
添加依赖性,如
var app = angular.module('base', ['ngRoute', 'kB']);
希望这会对你有所帮助。
答案 1 :(得分:0)
从你的plunker你可以看到你的templateUrl是错误的,它必须是.html文件的路径。
编辑:已编辑的名称 - &gt;
您的控制器名称为'CategoriesCtrl'。 'CatCtrl'就是这个名字 您要包含在index.html中的文件
<div ng-controller="CategoriesCtrl"> <div class="row"> <div class="categories"> Cats View </div> </div> </div> var app = angular.module('base', ['ngRoute']); app.config(['$routeProvider', function ($routeProvider) { $routeProvider. when('/categories', { templateUrl: 'views/cat.view.html', controller: 'CategoriesCtrl' }) }]);
答案 2 :(得分:0)
你必须做两个小改动 -
首先,我在代码中没有看到任何 CatCtrl 。更改此行
angular.module(&#39; kB&#39;)。控制器(&#39; CategoriesCtrl&#39;,[&#39; $ scope&#39;,&#39; $ http&#39;,< / p>
到
angular.module(&#39; kB&#39;)。控制器(&#39; CatCtrl&#39;,[&#39; $ scope&#39;,&#39; $ http&#39;,< / p>
其次,由于Controller的定义与基本模块(KB)不同,因此您需要将模块注入基础,iof您希望使用控制器
var app = angular.module(&#39; base&#39;,[&#39; ngRoute&#39;,&#39; kB&#39;]);
最后一点 - 由于您在路由中提及 CatCtrl ,因此无需在视图中再次使用它。
答案 3 :(得分:0)
这是工作演示
var app = angular.module('base', ['ngRoute']);
angular.module('base').controller('CategoriesCtrl', ['$scope', '$http', function ($scope, $http) {
$http.get('/categories').success(function (data) {
$scope.categories = data;
});
}]);
app.config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/categories', {
templateUrl: 'views/cat.view.html',
controller: 'CategoriesCtrl'
})
}]);
希望这可以帮到你