我的模板正在加载,但是我收到一个错误,控制器是未定义的。控制器确实存在于我的源中,恰好位于定义的位置。这段代码有什么问题?
Error: [ng:areq] http://errors.angularjs.org/1.2.14/ng/areq?p0=ItemsController&p1=not%20aNaNunction%2C%20got%20undefined
at Error (native)
at https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js:6:450
at xb
这是我的HTML:
<div ng-app="myApp">
<ul ng-controller="ItemsController" class="nav">
<input type="text" value="ItemName" ng-model="newItemName" placeholder="name of new item...">
<button ng-click="addItem()">Add Me</button>
<li ng-repeat="item in items.data" id="item{{item.id}}">
<a href="#">{{item.title}}</a>
<a ng-click="deleteItem($index)" class="fa fa-trash-o"></a>
</li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.14/angular-route.js"></script>
<script type="text/javascript" src="js/te.js"></script>
'use strict';
var myApp = angular.module("myApp", []);
myApp.factory("items ", function() {
var items = {};
items.data = [];
return items;
});
myApp.controller("ItemsController", function ItemsController($scope, items) {
$scope.items = items;
$scope.deleteItem = function(index) {
items.data.splice(index, 1);
}
$scope.addItem = function(index) {
items.data.push({
id: $scope.items.data.length + 1,
title: $scope.newItemName
});
}
});
答案 0 :(得分:1)
我在您的代码中看到的唯一问题是以下行:
myApp.factory("items ", function() {
工厂名称&#34;项目&#34; 中的空间,您将作为项目注入控制器。
以下是您的代码的工作PLNKR,证明其工作正常。
快乐帮助!
答案 1 :(得分:0)
我多次遇到过这个问题,通常这是因为你没有在模板中包含你的js。
如果不是这样,那么如果您可以分享您的部分代码,那么只有任何人都能够正确回答。