1

我最近发现了 angularJS 并一直在尝试学习它,所以我将简单的 todo 教程复制到一个 yeoman 生成器 angular 应用程序中,它恰好可以正常工作。但是,当我尝试编写自己的版本时,我无法让数据自动更新。

我的 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: '/'
  });
});

我究竟做错了什么?在我失去理智之前请帮忙。我敢肯定,我正在寻找的东西非常简单。但是,当我单击该链接时,该项目不会将自身添加到列表中。然而,在初始加载时,列表加载得很好。

4

1 回答 1

2

您错过了作为函数的第二个参数的参数列表angular.module(),只需将其更改为

angular.module('ngApp')

angular.module('ngApp', [])

Demo on jsFiddle

于 2013-07-29T22:28:28.567 回答