Javascript 在v-for divs-vue.js之间传递数据
我在学VueJS。这段代码并不漂亮,但它的工作原理几乎和它应该做的一样。我的问题是API在两个独立的Javascript 在v-for divs-vue.js之间传递数据,javascript,vue.js,axios,Javascript,Vue.js,Axios,我在学VueJS。这段代码并不漂亮,但它的工作原理几乎和它应该做的一样。我的问题是API在两个独立的v-for循环中有标题和href,尽管每个循环中只有一个项目(0)。我希望能够将标题放入如果结果中的索引数据和链接。项目属于一个元素。 例如,result.items.data[0]。title是result.items.links[0]的标题。href 然后,您可以在v-for索引中声明: const app = new Vue({ el: '#app', data: {
v-for
循环中有标题和href,尽管每个循环中只有一个项目(0)。我希望能够将标题放入如果
结果中的索引数据
和链接
。项目
属于一个元素。例如,
result.items.data[0]。title
是result.items.links[0]的标题。href
然后,您可以在v-for索引中声明:
const app = new Vue({
el: '#app',
data: {
results : []
},
methods: {
getItems: function () {
if (this.txtInput && this.mediaType) {
axios.get("https://www.api.org/search?q="+this.txtInput+"&media_type="+this.mediaType)
.then(response => this.results = response.data);
this.mediaType = null;
}
}
}
});
@{{data.title}}
但是,一种更为简洁的方法是,如注释中所述,使用。转换您的回复。我认为您必须转换您的回复数据,以便在每个项目的每个链接中包含
标题
属性。好的,谢谢。如何做到这一点?@sdexp通过编写代码如果您向我们展示您的axios响应数据,我们可能会提供帮助。
<div id="app">
<input id="txtName" v-on:keyup.enter="getItems" v-model="txtInput" type="text"><br>
<input type="radio" id="image" value="image" v-model="mediaType">
<label for="image">Image</label>
<br>
<input type="radio" id="audio" value="audio" v-model="mediaType">
<label for="audio">Audio</label>
<div v-for="result in results">
<div v-for="item in result.items">
<div v-for="data in item.data">
@{{ data.title }}<br>
</div>
<div v-for="link in item.links">
<img v-bind:src="link.href">
</div>
</div>
</div>
</div>
<div v-for="item in result.items">
<div v-for="(data, index) in item.data">
@{{ data.title }}<br>
<img v-bind:src="item.links[index].href">
</div>
</div>