gpt4 book ai didi

javascript - VueJS 嵌套组件

转载 作者:可可西里 更新时间:2023-11-01 02:36:52 24 4
gpt4 key购买 nike

我创建了一个 vue 组件,它有一个初始的 ajax 调用,用于获取我将循环访问的对象数组。有没有办法将这些对象定义/转换为另一个 vue 组件?这是我到目前为止得到的:

var myComponent = Vue.extend({
template: '#my-component',

created: function() {
this.$http
.get('/get_objects')
.then(function(data_array) {
for (var i = 0; i < data_array.data.length; i++) {
var item = data_array.data[i];

// <<-- How do i tell vue to cast another component type here??

}
}
);
}
});

Vue.component('my-component', myComponent);

new Vue({
el: 'body',
});

最佳答案

为了完整起见,我将在此处发布我自己的问题的答案。

所有功劳归于Joseph SilberJeff

来自 main.js 的代码

var myComponent = Vue.extend({
template: '#my-component',

data: function() {
return {
objects: []
}
},

created: function() {
this.$http
.get('/get_objects')
.then(function(objects) {
this.objects = objects.data;
}
);
}
});

var myComponentChild = Vue.extend({
template: '#my-component-child',

props: ['item'],

data: function() {
return {
item: {}
}
}
});

Vue.component('my-component', myComponent);
Vue.component('my-component-child', myComponentChild);

new Vue({
el: 'body',
});

index.html 中的代码

<my-component></my-component>

<template id="my-component">
<table>
<thead>
<tr>
<th>Name</th>
<th>URL</th>
</tr>
</thead>
<tbody>
<tr is="my-component-child" v-for="item in objects" :item="item"></tr>
</tbody>
</table>
</template>

<template id="my-component-child">
<tr>
<td></td>
<td>{{ item.name }}</td>
<td>{{ item.url }}</td>
</tr>
</template>

关于javascript - VueJS 嵌套组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36746204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com