2016-05-16 66 views
0

我想問你在這段代碼中的幫助。Angular html5模式錯誤:[ngRepeat:dupes]不允許在中繼器中複製

我得到錯誤控制檯:

Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: category in categories, Duplicate key: string:<, Duplicate value: <

我不知道爲什麼這個代碼不工作:

category in categories track by $index 

就像這個例子https://docs.angularjs.org/error/ngRepeat/dupes

文件源:

點公衆\意見\ categories.html

<h3 class="heading">Category</h3> 
<div ng-controller="CategoriesCtrl"> 
<div class="row"> 
    <div class="categories"> 
     <div ng-repeat="category in categories"> 
      <div class="col-md-6"> 
    <h3>{{category.name}}</h3> 
       <p>{{category.description}}</p> 
     <a href="/articles/category/{{category.name}}">Viwe Articels</a> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

categories.controller.js

angular.module("kB") 

.controller('CategoriesCtrl', ['$scope', '$http', function($scope, $http) { 
$http.get('/categories').success(function(data) { 
    $scope.categories = data; 
}); 
}]); 

categories.js

var express = require('express'); 
var router = express.Router(); 

var Category = require('../models/category'); 
router.get('/', function(req, res, next) { 
Category.getCategories(function(err,categories){ 
    if(err){ 
     console.log(err); 
    } 
res.json(categories); 
    }); 
}); 
router.get('/:id', function(req, res, next) { 
Category.getCategoryById(req.params.id, function(err,category){ 
    if(err){ 
     console.log(err); 
    } 
res.json(category); 
    }); 
}); 

module.exports = router; 

型號/ category.js

var categorySchema = mongoose.Schema({ 
    name: { 
      type: String, 
      index: true, 
      required: true 
      }, 
    description: { 
      type: String 
      } 
}); 

routis/index.js

var express = require('express'); 
var router = express.Router(); 

uter.get('*', function (req, res) { 
res.render('index') 
}) 

module.exports = router; 

在app.js

$locationProvider.html5Mode({ 
    enabled: true, 
    requireBase: false 
}); 

類別Obejct

{ getCategories: [Function], 
    getCategoryById: [Function], 
    getArticlesByCategory: [Function], 
    createCategory: [Function] } 
+0

請分享您的「類別」對象。 – Saad

+0

{getCategories:[Function], getCategoryById:[Function], getArticlesByCategory:[Function], createCategory:[Function]} – Kuba

+0

爲什麼不記錄類別並查看您是否獲取數據,那麼您可以確定問題是從你的前端 –

回答

1

改變

<div ng-repeat="category in categories"> 

<div ng-repeat="category in categories track by $index"> 

,如果你還沒有做到應該已經工作。

+0

它的工作原理,但在我刷新頁面後,它變成了一個JSON文件 – Kuba

0

現在它工作得很好:

<div ng-repeat="category in categories track by $index"> 

如果我有/或*快遞:

app.get('/', function(req, res) { 
    res.render('index') 
    }); 

app.get('*', function(req, res) { 
    res.render('index') 
    }); 

,但我刷新頁面後,就變成了JSON文件。

相關問題