【发布时间】:2018-01-03 08:49:29
【问题描述】:
我的 cordova ionic 1 代码当前加载了所有 rss 提要,这导致我的页面太长,因为 rss 提要太多。
因此,我只想在预设(处于折叠状态)处显示前三个 rss 项。当点击“更多”时,它将展开并显示所有项目。再次点击,它将折叠并仅显示第一个 rss。
目前,没有任何 rss 项目显示为折叠状态。它以可展开状态显示所有内容。
我需要什么:
显示前三个 rss 项目,在折叠状态下按日期(最新在顶部)排序。
在可展开状态下显示所有 rss 项。
我的模板
<div class="card">
<div class="item item-divider">RSS</div>
<a class="item item-icon-right" ng-if='showmore' ng-repeat="item in rssNews| orderBy: 'pubDate':true" ng-click="openitems(item.link)">
<h2>{{item.title}}</h2>
<h6>{{item.pubDate}}</h6>
<p {{story.description | htmlToPlaintext}}</p>
</div>
</a>
<div ng-click="togglemore()" <i class="icon" ng-class="showmore ? 'ion-android-remove-circle assertive' : 'ion-android-add-circle positive'"></i><span class="padding" ng-bind="showmore ? 'Less' : 'More'"></span></div>
</div>
angularjs
$scope.showmore = false;
$scope.togglemore = function() {
$scope.showmore = !$scope.showmore;
};
折叠条件。初始状态。(看蓝色的“+”号)。没有显示任何 rss。我希望显示前 3 个 rss 提要。
展开条件。它将显示所有 rss 提要。
例如,rss feeds 链接如下
https://www.google.com/finance/company_news?q=KLSE:AEON&ei=pKh8WfndJ9G8uQTKgKq4CQ&output=rss
另一个 JS
$webServicesFactory.get(
"https://www.google.com/finance/company_news",
{},
{
output: "rss",
q: 'KLSE' + ":" + 'AEON'
}
).then(
function success(xmlData) {
var x2js = new X2JS();
$globalFactory.personalStockNews = x2js.xml_str2json(xmlData).rss.channel.item;
console.info($globalFactory.personalStockNews);
$state.go("app.page");
},
function error(error) {
$globalFactory.personalStockNews = null;
$ionicLoading.hide();
$state.go("app.page");
}
);
},
function error(error) {
$ionicLoading.hide();
}
);
$scope.rssNews = $globalFactory.personalStockNews;
如果您对什么是折叠和展开感到困惑,这就是示例。
【问题讨论】:
-
我认为您必须将容器的初始最大高度设置为列表中 3 个项目的高度,当您切换扩展变量时,您将最大高度设置为高于它的值会得到的。
-
@David 您能否详细说明或在 jsfiddle 中举例说明?
-
我现在没有时间整理一些东西,但我认为手风琴列表 (joshmorony.com/creating-an-accordion-list-in-ionic) 上的 josh moronys 教程可能会有所帮助(我知道它是 angular2,但概念是一样的) .无需将折叠高度设置为 0,您只需将其设置为适合 3 个列表项的任何值。
-
手风琴列表正在工作,如您所见,如图所示。就在它崩溃的时候,我想显示 3 个按日期排序的 rss 项目
-
是的,这就是为什么我写了“与其将折叠高度设置为 0,不如将其设置为适合 3 个列表项的任何值”。
标签: html angularjs cordova ionic-framework