解析WordPress网站上的JSON数据时,嵌套的ng-repeat无法正常工作

阿里·海德(Ali Hayder)

我正在使用Ionic开发新闻应用程序。新闻来自json格式的wordpress网站。这是json的一小部分。

{
"status": "ok",
"count": 100,
"count_total": 4104,
"pages": 42,
"posts": [
    {
        "id": 57063,
        "type": "post",
        "slug": "%e0%a6%b6%e0%a6%bf%e0%a6%ac%e0%a6%bf%e0%a6%b0%e0%a7%87%e0%a6%b0-%e0%a6%95%e0%a7%87%e0%a6%a8%e0%a7%8d%e0%a6%a6%e0%a7%8d%e0%a6%b0%e0%a7%80%e0%a7%9f-%e0%a6%a8%e0%a7%87%e0%a6%a4%e0%a6%be-%e0%a6%8f",
        "url": "http://latestkhobor.com/%e0%a6%b8%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%a6%e0%a7%87%e0%a6%b6/%e0%a6%9a%e0%a6%9f%e0%a7%8d%e0%a6%9f%e0%a6%97%e0%a7%8d%e0%a6%b0%e0%a6%be%e0%a6%ae-%e0%a6%ac%e0%a6%bf%e0%a6%ad%e0%a6%be%e0%a6%97/%e0%a6%b6%e0%a6%bf%e0%a6%ac%e0%a6%bf%e0%a6%b0%e0%a7%87%e0%a6%b0-%e0%a6%95%e0%a7%87%e0%a6%a8%e0%a7%8d%e0%a6%a6%e0%a7%8d%e0%a6%b0%e0%a7%80%e0%a7%9f-%e0%a6%a8%e0%a7%87%e0%a6%a4%e0%a6%be-%e0%a6%8f/",
        "status": "publish",
        "title": "শিবিরের কেন্দ্রীয় নেতা এনামুল চট্টগ্রামে গ্রেফতার",
        "title_plain": "শিবিরের কেন্দ্রীয় নেতা এনামুল চট্টগ্রামে গ্রেফতার",
        "content": "<p style=\"text-align: justify;\"><a href=\"http://latestkhobor.com/wp-content/uploads/2015/02/enamul_224231.jpg\"><img class=\"alignleft size-thumbnail wp-image-57037\" src=\"http://latestkhobor.com/wp-content/uploads/2015/02/enamul_224231-150x150.jpg\" alt=\"enamul_224231.jpg\" width=\"150\" height=\"150\" /></a>নাশকতার অভিযোগে ছাত্রশিবিরের কেন্দ্রীয় কার্যকরী পরিষদের সদস্য এনামুল কবিরকে গ্রেফতার করেছে চট্টগ্রাম মহানগর পুলিশ। শুক্রবার তাকে নগরীর বাকলিয়া থানার বগার বিল এলাকা থেকে গ্রেফতার করে পুলিশ।</p>\n<p style=\"text-align: justify;\">নগর পুলিশের অতিরিক্ত কমিশনার (অপরাধ ও অভিযান) বনজ কুমার মজুমদার গ্রেপ্তারের বিষয়টি নিশ্চিত করেছেন।</p>\n<p style=\"text-align: justify;\">পুলিশ সূত্রে জানা গেছে এ বিষয়ে আরো জানানো হয়, এনামুলের সঙ্গে চট্টগ্রামেরও কয়েকজন শিবিরের নেতাকর্মীকে আটক করা হয়েছে।</p>\n",
        "excerpt": "<p>নাশকতার অভিযোগে ছাত্রশিবিরের কেন্দ্রীয় কার্যকরী পরিষদের সদস্য এনামুল কবিরকে গ্রেফতার করেছে চট্টগ্রাম মহানগর পুলিশ। শুক্রবার তাকে নগরীর বাকলিয়া থানার বগার বিল এলাকা থেকে গ্রেফতার করে পুলিশ। নগর পুলিশের অতিরিক্ত কমিশনার (অপরাধ ও অভিযান) বনজ কুমার মজুমদার গ্রেপ্তারের বিষয়টি নিশ্চিত করেছেন। পুলিশ সূত্রে জানা গেছে এ বিষয়ে আরো জানানো হয়, এনামুলের সঙ্গে চট্টগ্রামেরও কয়েকজন শিবিরের নেতাকর্মীকে &#8230;</p>\n",
        "date": "2015-02-21 15:38:41",
        "modified": "2015-02-21 15:38:41",
        "categories": [
            {
                "id": 960,
                "slug": "%e0%a6%9a%e0%a6%9f%e0%a7%8d%e0%a6%9f%e0%a6%97%e0%a7%8d%e0%a6%b0%e0%a6%be%e0%a6%ae-%e0%a6%ac%e0%a6%bf%e0%a6%ad%e0%a6%be%e0%a6%97",
                "title": "চট্টগ্রাম বিভাগ",
                "description": "",
                "parent": 11,
                "post_count": 50
            },
            {
                "id": 48,
                "slug": "%e0%a6%ac%e0%a7%8d%e0%a6%b0%e0%a7%87%e0%a6%95%e0%a6%bf%e0%a6%82-%e0%a6%a8%e0%a6%bf%e0%a6%89%e0%a6%9c",
                "title": "breaking",
                "description": "",
                "parent": 0,
                "post_count": 1132
            },
            {
                "id": 11,
                "slug": "%e0%a6%b8%e0%a6%be%e0%a6%b0%e0%a6%be%e0%a6%a6%e0%a7%87%e0%a6%b6",
                "title": "সারাদেশ",
                "description": "",
                "parent": 0,
                "post_count": 1347
            }
        ],

我想显示按类别排序的特定新闻。就像我想向新闻展示什么属于“突发”类别。我尝试了这段代码,但是没有正确执行。

<ion-item class="item-thumbnail-left"  ng-repeat="singleNews in news.posts" href="#/app/singleNews/{{singleNews.id}}">
            <span ng-repeat="cat in singleNews.categories | filter: {title: 'breaking'}">
                <img src="{{singleNews.thumbnail}}">
                <h2 ng-bind-html="singleNews.title"></h2>
                <div ng-bind-html="singleNews.excerpt"></div>
            </span>
 </ion-item>
潘卡·帕克(Pankaj Parkar)

我相信,要获得更好的解决方案,您需要创建一个自定义过滤器。如果标题匹配则将过滤掉{title: 'special'}

app.filter('filterForTitle',function($filter){
  return function(news, prop1){
    var returnValue = [];
    angular.forEach(news,function(values,index){
      var matchedValue = $filter('filter')(values.categories,{title:'special'},true);
      if(matchedValue.length>0) returnValue.push(values);
    });
    return returnValue;
  }
});

的HTML

<ion-item class="item-thumbnail-left" href="#/app/singleNews/{{singleNews.id}}" ng-repeat="singleNews in news.posts|filterForTitle">
    <img src="{{singleNews.thumbnail}}">
    <h2 ng-bind-html="singleNews.title"></h2>
    <div ng-bind-html="singleNews.excerpt"></div>
</ion-item>

工作码笔

过滤后的数组每次都返回重复值,我认为服务仅返回重复值。

为了解决这个问题,我们需要过滤ng-repeat就是filter:{title: 'special'}"那奇怪的部分的内部

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

嵌套的ng-repeat无法正常工作

角度ng-repeat无法正常工作

ng-repeat无法正常工作

嵌套到ng-repeat的json无法正常工作

为什么我的嵌套ng-repeat无法正常工作

我的嵌套ng-repeat无法正常工作

使用ng-repeat时Flexslider无法正常工作

具有别名的ng-repeat无法正常工作

Tbody中的AngularJS ng-repeat无法正常工作

turn.js中的ng-repeat无法正常工作

ng-repeat导致菜单无法正常工作

ng-repeat内的jQuery Time Picker无法正常工作

AngularJS:$ http加载页面ng-repeat无法正常工作

为什么ng-repeat无法正常工作?

我的Wordpress网站上的jQuery脚本均无法正常工作

WordPress无法正常工作

遍历对象的JavaScript数组时ng-repeat无法正常工作

AngularJS“ ng-repeat | filter:...”无法正常工作(未显示数据)

Angular在表行中不显示数据。ng-repeat无法正常工作

ng-repeat div中表上的ng-repeat在自定义过滤的数据上无法正常工作

ng-repeat内的angular js ng-html无法正常工作

尽管使用了最新的angularJS版本,为什么ng-repeat-start无法正常工作?

在指令中使用ng-repeat导致表单验证无法正常工作

如果从其他形式调用按钮,为什么Ng Repeat无法正常工作?

具有谓词功能的角度ng-repeat过滤器无法正常工作

Angular:ng-repeat无法正常工作,但对象仍在控制台中显示

UL(位于P内)内的ng-repeat无法正常工作

ng-repeat无法正常工作。认为存在范围问题,但不确定。

将我的List vom ng-repeat更改为collection-repeat ng-click后,无法正常工作