2013-07-29 2 views
0

저는 최근에 angularJS를 발견하고 그것을 배우려고 노력했기 때문에 간단한 todo 자습서를 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

angular.module('ngApp') 

에서 변경 angular.module() 함수의 두번째 매개 변수로 매개 변수 목록을 놓친 "클릭"은 콘솔에 기록됩니다. – user2554434

답변

2

당신은

angular.module('ngApp', []) 

Demo on jsFiddle

+0

감사합니다. 그러나 여전히 컴퓨터에서 작동하지 않습니다. 나는 grunt를 사용하고 있으며, angularjs 사이트의 예제는 잘 작동했다 ... 나는 미쳐 가고 있는가? – user2554434

+0

@ user2554434 데모를 업데이트했습니다. 컨트롤러와 라우팅을 등록 할 때 정확히 동일한 각도의 모듈 인스턴스를 사용해보십시오. – zsong

+0

도와 주셔서 감사합니다. 문제를 해결하는 유일한 방법은 a 속성에서 href = "#"를 제거하는 것입니다. 이것이 작동하지 못하게하는 특별한 이유가 있습니까? 나는이 실수를 다시 피하기 위해 미래를 배우고 싶다. 아무도 덜 감사드립니다. – user2554434

관련 문제