【发布时间】:2016-10-20 15:38:46
【问题描述】:
我将 JSON 响应转换为具有以下内容的数组:
json_data = response.body.movies;
var result = [];
for(var i in json_data) result.push([i, json_data [i]]);
self.movies = _.chunk(result, 3);
在我尝试转换它之前,它是一个对象,如下所示:
转换后:
我必须转换,因为 lodash chunk 方法仅适用于数组 (?)。
所以当运行_.chunk(JSONAPIREPSONSE,4) 时,self.movies 看起来像:
到目前为止太好了。
但是当我尝试v-forself.movies 时,我无法获得所需的信息。我有这个模板
<div class="row" v-for="(movie, index) in movies" v-bind:index="index">
<div class="col-sm-4" v-for="(set, key) in movie" v-bind:key="key">
<div class="panel">
<div class="panel-heading">
<a v-on:click.prevent="fetchNow(movie.movie_title)" :href="movie.movie_id">@{{ set.movie_title }}</a>
</div>
<div class="panel-body">
movie title: <b>@{{ set.movie_title }}</b> <br>
set: <b>@{{ set }}</b> <br>
//Here comes Content do whatever here
</div>
</div>
</div>
{{ set.movie_title }} 的结果为空,没有错误。
{{ set }} 的结果是:
[ "0", { "movie_title": "Bridget Jones's", "movie_id": "17523" } ]
[ "1", { "movie_title": "Strange", "movie_id": "17483" } ]
预期结果
显示数组内容的普通 vuejs 语法。
【问题讨论】:
-
如果您可以包含更多的 Vue 组件(例如方法、数据以及进行
_.chunk调用的位置),将会有所帮助。另外,movies对象在转换之前的结构是什么?这是什么版本的 Vue——1.x 还是 2.x? -
@PatrickSteele 我试图更新我的答案。该方法只是从 AJAX 请求中获取数据,并填充为我更新的答案中显示的第一张图片。
_.cunk是来自 lodash 的一种方法。它的 vue 2.1
标签: javascript vue.js vue-resource