【发布时间】:2016-09-04 08:22:10
【问题描述】:
有人可以在这里帮助我吗?我从 wordpress api(get_posts) 获得了一个 POSTS 列表。收到帖子后,我会将它们显示在<a> 标签列表中。在每个<a> 标签中都有帖子项目的标题和描述。所有这些都是在 ionic 框架内的 javascript 中动态完成的。
我的问题来了。显示帖子列表后,我需要单击列表中的单个帖子项目,然后需要从中显示更多详细信息(即摘录)。但是,我只成功地显示了每个帖子的详细信息,而不仅仅是选定的帖子。我正在模态中显示摘录。
我的代码如下。
Javascript //在页面输入时调用 JSON API //获取帖子列表并将它们填充到标签中 //标签已添加标题和描述
.controller('chickenCtrl', function($scope, $stateParams, $window, $http, $state, $ionicModal, $ionicLoading) {
$scope.$on('$ionicView.enter', function(){
$scope.result = "";
$scope.categories = "";
$http.get('http://dhameergovind.co.za/wp/api/get_posts/')
.success(function(data, status, headers,config){
var i;
var j;
for (i = 0; i < data.posts.length; i++) {
console.log(data.posts[i]);
var image = data.posts[i].thumbnail;
var post_id = data.posts[i].id;
console.log(post_id);
for (j = 0; j < data.posts[i].categories.length; j++){
if (data.posts[i].categories[j].title=="Chicken"){
var chickenTitleObj = data.posts[i].title;
var chickenDescObj = data.posts[i].content;
document.getElementById('chick').innerHTML += '<a class="item item-thumbnail-left item-block" + id='+i+'>' + '<img src ="' + image + '"/>' + '<div class="middleText">' + '<h3 class="text-wrap">' + chickenTitleObj + '</h3>' + '<p class="text-wrap">' + chickenDescObj + '</p>' + '</div>' + '</a>' + '<br/>';
}
else{
alert("not existing")
}
}
}
$scope.result = data; // for UI
})
.error(function(data, status, headers,config){
console.log('data error');
$ionicLoading.hide();
})
.then(function(result){
things = result.data;
$ionicLoading.hide();
});
});
//一旦点击帖子,就会打开一个模式以显示所选帖子的详细信息(摘录)
$ionicModal.fromTemplateUrl('templates/recipeModal.html', { scope: $scope }).then(function(modal) { $scope.modal = modal; })
$scope.$on('modal.shown', function(e) {
$ionicLoading.show({
content: 'Loading',
animation: 'ripple',
showBackdrop: true,
maxWidth: 200,
showDelay: 0
});
$scope.result = "";
$scope.categories = "";
$http.get('http://dhameergovind.co.za/wp/api/get_posts/')
.success(function(data, status, headers,config){
var i;
for (i = 0; i < data.posts.length; i++) {
console.log(data.posts[i]);
var image = data.posts[i].thumbnail;
var post_id = data.posts[i].id;
console.log(post_id);
var chickenTitleObj = data.posts[i].title;
var chickenDescExerptObj = data.posts[i].excerpt;
document.getElementById('chickDesc').innerHTML += '<a class="item item-thumbnail-left item-block">' + '<img src ="' + image + '"/>' + '<div class="middleText">' + '<h3 class="text-wrap">' + chickenTitleObj + '</h3>' + '<p class="text-wrap">' + chickenDescExerptObj + '</p>' + '</div>' + '</a>' + '<br/>';
$ionicLoading.hide();
}
$scope.result = data; // for UI
})
.error(function(data, status, headers,config){
console.log('data error');
$ionicLoading.hide();
})
.then(function(result){
things = result.data;
$ionicLoading.hide();
});
});
})
//HTML
<ion-view view-title="Chicken Recipes">
<ion-content>
<div class="list">
<div id="chick" class="input-box" ng-click="modal.show()">
</div>
</div>
</ion-content>
</ion-view>
//模态HTML
<ion-modal-view view-title="Chicken Recipes">
<ion-content class="padding">
<div class="list">
<div id="chickDesc" class="item-block input-box">
</div>
</div>
<button class="button button-block button-positive" ng-click="modal.hide()">Close</button>
</ion-content>
</ion-modal-view>
【问题讨论】:
-
使用 ng-repeat 渲染后期细节不是更好吗?
-
不幸的是,我还在学习 Angular,所以我在学习 Angular 的同时坚持使用 JS。但我会考虑让事情变得更容易
标签: javascript angularjs json wordpress ionic-framework