私は最近 angularJS を発見し、それを学ぼうとしていたので、単純な todo チュートリアルをヨーマン ジェネレーターの 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: '/'
});
});
私は何を間違っていますか?気が狂う前に助けてください。私が見過ごしているのは非常に単純なものだと確信しています。ただし、リンクをクリックしても、アイテムはリストに追加されません。ただし、最初のロードでは、リストは問題なくロードされます。