点击列表某一项,如何请求里面的详细数据并展现出来
点击列表某一项,如何请求里面的详细数据并展现出来
我现在这里的APP列表是ng-repeat循环出来的,但是我想点击每个列表的时候弹出另一个页面,这个页面里面的数据是需要ajax请求出来的比如这样,angularjs应该怎么写呢?新手求助
贴上部分代码:
列表的json:
[
{
"name": "去哪儿",
"imageUrl": "images/icon_qunaer.png",
"intro": "这是一款很搞笑的游戏",
"id":1,
"salary":20.00,
"remain":12,
"category":"旅行",
"download":"http://www.baidu.com"
},
{
"name": "水滴",
"imageUrl": "images/icon_water.png",
"intro": "这是一款很搞笑的游戏",
"id":2,
"salary":10.00,
"remain":2222,
"category":"财务",
"download":"http://www.baidu.com"
}
]
点击后详细的弹出页:
[
{
"name": "去哪儿",
"imageUrl": "images/icon_qunaer.png",
"appSize": "112M",
"id":1,
"appRank":22,
"remain":12,
"appDawnDesc":"想要下载,必须先做十个俯卧撑",
"keyWord":"旅行"
}
]
HTML部分:
<div class="row normal" ng-repeat="list in games" ng-click="openDeatil(list)" ng-cloak>
<div class="col-20 taskIcon">
<div class="logoCnt">
<img ng-src="{{list.imageUrl}}">
</div>
</div>
<div class="col-50 desc">
<p class="taskName textBlack size_08">{{list.name}}</p>
<p class="taskDesc textGrey size_06"><span class="button button-round category">{{list.category}}</span>剩余<span>{{list.remain}}</span>个</p>
</div>
<div class="col-30 down_btn">
<div>
<button class="button button-round">{{'+'+list.salary+'元'}}</button>
</div>
</div>
</div>
angularjs部分,写了一部分 不知道怎么写了,求大神指条明路。就是不知道这么把数据传到点击之后的详细页面上:
$http.get('data/gameList.json').success(function(data){
$scope.games = data;
$scope.orderProp = "rank";
$scope.openDeatil = function (list) {
$(document).on("pageInit", function(e, pageId, $page) {
if(pageId == list.id) {
}
});
$timeout(function () {
$.router.load("/taskDeatil.html")
},10);
}
});
//初入angularjs,还请轻喷,还用了淘宝的sui
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
ng-click要放在每个要点击的层上,e.g.
html:
js:
给你个思路吧
1、循环输出的标签用
href="#/personal/production?args=vars"
进行跳转,附加参数就行了,这个参数可以在另一个页面提取出来2、就像你用的ng-click,在点击事件中
$location.path('/design/' + data.id);
这个data.id可以是你遍历的每个列表的id看你的需求,第二种方法非常适合
按照你现在的写法,在点击事件中把所选条目都传给controller。第二步用location.path进行页面跳转,跳转页面的时候已经把所点击的条目的id传给detail页面的controller。在detail controller接收到id之后(接收的方法ui-route 和ngRoute大概相同,自己查下angular路由就知道怎么用了),去请求数据,显示到页面就行了。
列表中的每一项有对应的id,出发点击事件的时候传入id参数,用$state.go 传递id这个参数,再在详情页面通过id请求详细的数据,显示出来就好了吧