【发布时间】:2014-09-08 20:49:23
【问题描述】:
试图理解 AngularJS 中的文件管理器。我有以下代码将文章从 JSON 播种到主页。
<div ng-repeat='article in articlesList | filter:filters'>
<span>{{article.category}}</span>
<h1>{{article.title}}</h1>
<p>{{article.short_desc}}</p>
</div>
我也有导航,我想将其用作过滤器,因此它不会转到新页面,而是按类别从主页中过滤掉文章。
<ul>
<li>
<a ng-click="filters.category = 'home'">Home</a>
</li>
<li>
<a ng-click="filters.category = 'activity'">Home</a>
</li>
</ul>
我的 JSON 看起来像这样
{
"article1": {
"id":"1",
"category": "home",
"title": "Lorem ipsum dolor sit amet, consectetur adipisicing elit.",
"short_desc": "Nemo enim ipsam voluptatem quia voluptas sit",
"images": [
"img/article-img1.jpg"
]
},
"article2": {
"id":"2",
"category": "activity",
"title": "Lorem ipsum dolor sit amet, consectetur adipisicing elit.",
"short_desc": "Nemo enim ipsam voluptatem quia voluptas sit",
"images": [
"img/article-img2.jpg"
]
},
}
我正在使用这个控制器从中获取数据
app.controller('HomeCtrl', function($scope, $http) {
$http.get('pages/articles.json')
.success(function(data) {
$scope.filters = {}
$scope.articlesList = data;
})
.error(function(data) {
alert('Something is wrong with JSON')
})
});
我正在尝试找出设置过滤器的正确方法。正在寻找解决类似问题的解决方案或一些文章。
或者过滤可能不是此任务的最佳选择。我感谢任何建议/最佳做法。
【问题讨论】:
-
ng-repeat='article in articlelist | filter:categoryFilter'除非我误解了这个问题。您的花括号之一也在您的 ng-click 的引号之外