请帮助理解如何从Layout []的哈希值向GridItems传递内容。
我认为GridItem.i是GridItem的关键值。但是如何链接"内容"相应的单元组件?
这种方式不起作用:
HTML:
<grid-item v-for="item in layout"
:x="item.x"
:y="item.y"
:w="item.w"
:h="item.h"
:i="item.i">
{{item.c}}
</grid-item>
JS:
let a = `<item>There I want div from component</item>`;
Vue.component('item', {
props: [],
template: `<div>Primer</div>
`
});
var testLayout = [
{"x":0,"y":0,"w":2,"h":2,"i":"1","c":"content1"},
{"x":2,"y":0,"w":2,"h":4,"i":"2","c":"<item>There I want div from component</item>"},
{"x":4,"y":0,"w":2,"h":5,"i":"3","c":a},
];
var GridLayout = VueGridLayout.GridLayout;
var GridItem = VueGridLayout.GridItem;
new Vue({
el: '#app',
components: {
GridLayout,
GridItem,
},
data: {
layout: testLayout,
},
});
答案 0 :(得分:5)
免责声明:我是vue-grid-layout作者。
网格项使用插槽添加内容,因此我不认为v-html在网格项上使用时可以正常工作。就这样做:
<grid-item v-for="item in layout"
:x="item.x"
:y="item.y"
:w="item.w"
:h="item.h"
:i="item.i">
<div v-html="item.c"></div>
</grid-item>
答案 1 :(得分:0)
看起来你必须使用这样的东西:
<grid-item v-for="item in layout" v-html="item.c"></grid-item>
答案 2 :(得分:0)
努力弄清楚这一点,我取得了一些进展。但这不是一个完整的答案。
我面临的问题是item
组件的内部子项被解析为字符串而不是html。
如果有人帮忙会有用。