目录
[ionic开源项目教程] 第7讲 实现下拉刷新上拉加载ion-refresher和ion-infinite-scroll
[ionic开源项目教程] 第10讲 新闻详情页的用户体验优化
- [ionic开源项目教程] 第11讲 封装BaseController实现controller继承
- [ionic开源项目教程] 第12讲 医疗模块的实现以及Service层loadMore和doRefresh的提取封装
- [ionic开源项目教程] 第13讲 Service层继续优化,提取公用Service,以及生活和农业两大模块的实现
[效果图]
步骤如下:
1.在app.js中配置新闻详情页的路由
.state('tab.tab1-details', {
url: '/tab/tab1-details/:id/:title',
views: {
'tab1': {
templateUrl: 'templates/tab1-details.html',
controller: 'Tab1DetailsCtrl'
}
}
})
2.新建新闻详情页的视图tab1-details.html
<ion-view title="{{title}}">
<ion-content class="padding">
<div ng-bind-html="item.message"></div>
</ion-content>
</ion-view>
3.在tab1.html中添加ng-click跳转事件goDetails
<a ng-repeat="item in slide.items" class="item item-thumbnail-right item-text-wrap" ng-click="goDetails(item)">
<img ng-src="{{imgUrl+item.img}}" width="30" height="30" alt="">
<h3>{{::item.title}}</h3>
<p>{{::item.description | substring:item.description}}</p>
</a>
4.在Tab1Ctrl中实现goDetails
$scope.goDetails = function (item) {
$state.go('tab.tab1-details', { id: item.id,title:item.title })
}
5.在Tab1Service中实现getDetails获取新闻详情
this.getDetails = function (id) {
return $http.get(urls.info_show + id);
}
6.配置config.js中的服务器url
var server = {
domain : "http://www.tngou.net/api",
imgUrl : "http://tnfs.tngou.net/image"
}
var urls = {
info_show:server.domain+"/info/show?id="
}
var settings = {
rows : 10
}
var cache = {
user: "TongeNews"
}
7.新建Tab1DetailsCtrl控制器,调用Tab1Service中的getDetails获取新闻详情,并显示到view层。
.controller('Tab1DetailsCtrl', function ($scope, $stateParams, Tab1Service) {
var id = $stateParams.id;
$scope.title = $stateParams.title;
Tab1Service.getDetails(id).success(function (response) {
$scope.item = response;
})
})
到这里如果有任何问题,请通过文章最下面的联系方式联系我。