2013-07-29 39 views
0

我最近發現了angularJS,並一直在嘗試學習它,所以我將簡單的待辦事項教程複製到yeoman生成器角度應用程序中,這恰好運行正常。但是,當我試圖編寫自己的版本時,我無法自動更新數據。我在做什麼AngularJS錯誤?

我的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」 功能($範圍){

$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

我忘了提的是, 「點擊」確實被記錄到控制檯。 – user2554434

回答

2

您錯過了參數列表angular.module()函數的第二個參數,只需將其從

angular.module('ngApp') 

改變

angular.module('ngApp', []) 

Demo on jsFiddle

+0

謝謝,但它仍然無法在我的電腦上工作。我正在使用grunt,並且來自angularjs站點的示例工作得很好......我會瘋了嗎? – user2554434

+0

@ user2554434我更新了演示。嘗試使用相同的角度模塊實例來註冊控制器和路由。 – zsong

+0

謝謝你的幫助。唯一能解決問題的方法是從a屬性中刪除href =「#」。是否有任何特定的原因妨礙了它的工作?我想學習未來以避免再次發生這種錯誤。謝謝你。 – user2554434