gpt4 book ai didi

javascript - Vuejs : how to use component 2 in template of component 1

转载 作者:行者123 更新时间:2023-12-02 21:17:24 26 4
gpt4 key购买 nike

我是 Vue 新手,不知道如何在另一个组件的模板中使用一个组件。或者在其他情况下如何组合 html 中的组件,使它们嵌套或其他什么。无法从文档和SO中弄清楚。

我正在通过 cdnjs 使用 vue。

例如:

我有一个根 vue 实例#app。在其中我注册了两个数据数组:一个用于容器,另一个用于其中的表。

现在在 html 中我有一个容器,即在其中我想要一个位于“<'container'>”特定位置的表格,我该如何实现它?如果我将其直接放在“<'container'>”组件表中,Vue 不会将其识别为有效并显示错误。

到目前为止我在这里:

        var app = new Vue({

el: '#app',
data: {
containersList: [{container-object}],
tablesList: [],
methods(){}
},

let container = Vue.component('container',{
props: ['item'],
template: '<div class="container">{{ item.data }}</container></div>

<container v-for="item in containerList> </container>

到目前为止,我成功地渲染了组件,用数据填充它们并使所有组件具有反应性。

我需要用表填充容器。然后也许用表格选项卡或其他内容填充表格,我该怎么做?

我的逻辑在这里失败了。

let tableComponent = Vue.component('table-component', {
props: ['item'],
template: '<div class="table"></div>'
}
let container = Vue.component('container',{
props: ['item'],
template: '<div class="container"><table-component></table-component></div>

UPD:所以看起来它的渲染方式与此处提供的类似,但显示引用数据中“tablesList”数组的错误。由于某种原因,它无法访问它并显示“属性或方法“tablesList”未在实例上定义,但在渲染期间引用”。

因此父容器组件可以访问它,而子组件则不能访问它并抛出错误。

最佳答案

我修复了您的代码中的某些内容,并构建了一个最小的示例。

请参阅下面的代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<container></container>
</div>
<script>
let tableComponent = Vue.component("table-component", {
props: ["item"],
template: '<div class="table">table-component</div>'
});

let container = Vue.component("container", {
props: ["item"],
template: `<div class="container">
<div>container</div>
<table-component></table-component>
</div>`
});

let app = new Vue({
el: "#app",
data() {
return {
containersList: [],
tablesList: []
};
},
methods: {
anyMethod() {
console.log("teste");
}
}
});
</script>
</body>
</html>

关于javascript - Vuejs : how to use component 2 in template of component 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60932608/

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