我最近发现angularJS并且一直在努力学习它,所以我将简单的todo教程复制到了一个自动生成器角度应用程序,它碰巧工作得很好。但是,当我尝试编写自己的版本时,我无法自动更新数据。
我的HTML:
<div class="hero-unit">
<ul>
<li ng-repeat="p in phones">{{p.name}} - {{p.snippet}}</li>
</ul>
<a href="#" ng-click="addPhone()">click me</a>
</div>
我的main.js
'use strict';
angular.module( 'ngApp') .controller(“MainCtrl”,function($ scope){
$scope.phones = [
{name: "Nexus S",
snippet: "Fast just got faster with Nexus S."},
{name: "Motorola XOOM™ with Wi-Fi",
snippet: "The Next, Next Generation tablet."},
{name: "MOTOROLA XOOM™",
snippet: "The Next, Next Generation tablet."}
];
$scope.addPhone = function()
{
console.log('clicked');
$scope.phones.push({
name: "iPhone 5",
snippet: "Awesome phone man"
});
};
});
我还没有修改我的app.js,但这只是以防万一:
'use strict';
angular.module('ngApp', [])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
controller: 'MainCtrl'
})
.otherwise({
redirectTo: '/'
});
});
我做错了什么?在我失去理智之前请帮忙。我确信这是一件非常简单的事情。但是,当我单击该链接时,该项目不会将其自身添加到列表中。但是在初始加载时,列表加载就好了。
答案 0 :(得分:2)
您错过了参数列表作为angular.module()
函数的第二个参数,只需从
angular.module('ngApp')
到
angular.module('ngApp', [])
的 Demo on jsFiddle 强>