我有一个simpe控制器及其视图,我试图通过ng-click添加一个项目到集合,但我刚开始玩角度,我不明白为什么以下视图添加项目不起作用,但是我硬编了一些测试项目,它们显示得很好,我很感激你的帮助
<html data-ng-app>
<body>
<div data-ng-controller="ItemsController">
name : <input type="text" data-ng-model="newItem.name"/>
description : <input type="text" data-ng-model="newItem.description"/>
maintainer : <input type="text" data-ng-model="newItem.maintainer"/>
<button data-ng-click="addNew(newItem)">Add</button>
<ul>
<li data-ng-repeat="item in items">{{item.name}} {{item.description}} {{item.maintainer}}</li>
</ul>
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.min.js"></script>
<script type="text/javascript">
function ItemsController ($scope) {
$scope.items =
[{name:'x',description:"sss",maintainer:'me'},
{name:'y',description:"aaa",maintainer:'me'}];
var addNew = function(newItem)
{
$scope.items.push(newItem);
};
}
</script>
</body>
</html>
答案 0 :(得分:3)
您需要将addNew
函数添加到范围对象中。如果您更改:
var addNew = function(newItem)
{
$scope.items.push(newItem);
};
进入
$scope.addNew = function(newItem)
{
$scope.items.push(newItem);
};
你会发现它应该可以正常工作。