私は覚えていますが、角度エラーが発生しました。しかし私は、データが通過していないされ、テーブル内のフォームデータを表示しようとしていると私は受信エラーがある:私が持っているindex.htmlファイルでAngular ngRepeat:重複エラー(重複するキーはありません)
angular.js:11500 Error: [ngRepeat:dupes] http://errors.angularjs.org/1.3.5/ngRepeat/dupes?p0=topic%20in%20topics%20%20%7C%20filter%3A%20filter_q&p1=string%3Ap&p2=p at Error (native) at
:
discussion_board.controller('dashboardController', function($scope, usersFactory, topicsFactory){
$scope.topics = [];
$scope.users = [];
topicsFactory.index(function(data){
$scope.topics = data;
})
usersFactory.index(function(data){
$scope.topics = data;
})
$scope.addtopic = function(){
console.log("from controller)");
topicsFactory.addTopic($scope.new_topic, function(topics){
$scope.topics = topics;
$scope.new_topic = {};
});
}
})
discussion_board.factory('topicsFactory', function($http){
var factory = {};
var users = [];
factory.index = function(callback) {
$http.get('/topics').success(function(output){
callback();
});
}
factory.addTopic = function(info, callback) {
console.log("from factory");
$http.post('/topics', info).success(function(output){
callback();
});
}
そして、ビューファイルの中で:
<div ng-controller="dashboardController">
<h2>Welcome {{username}} !</h2>
<h5>Search:
<input type="text" ng-model="filter_q" placeholder="search">
</h5>
<table class="table">
<tr>
<th>Category</th>
<th>Topic</th>
<th>User Name</th>
<th>Posts</th>
</tr>
<tr ng-repeat="topic in topics | filter: filter_q">
<td>{{topic.category}}</td>
<td>{{topic.name}}</td>
<td>{{topic.username}}</td>
<td>{{topic.posts}}</td>
</tr>
</table>
ng-repeatで$ indexでトラックを追加しました。フィルタの前に追加すると、空の行がテーブルに追加されます。フィルターの後に挿入すると、変更はありません。
これは問題に関連するかどうかは不明ですが、結果を$ scopeに割り当てるためにusersFactory.indexへの呼び出しを変更したいと思います$ scope.dataではなく.users。 –