【发布时间】:2019-06-22 05:06:44
【问题描述】:
我只是在创建我的第一个自定义组件,而且我真的在为基础知识而苦苦挣扎。我的组件:
<template>
<StackLayout>
<Label :text="title" />
<Label :text="slate.description" />
</StackLayout>
</template>
<script>
var slate;
export default {
name: "SlateComponent",
props:
['slate', 'title'],
data() {
return {
slate: slate,
};
},
}
</script>
这个组件会定期更新,占据应用首页很大一块:
<template>
<Page class="Page" actionBarHidden="true" backgroundSpanUnderStatusBar="true" >
<StackLayout>
<StackLayout row="0">
...
</StackLayout>
<StackLayout row="1">
<SlateComponent :title="title" :slate="slate" />
</StackLayout>
...
</Page>
</template>
<script>
...
import SlateComponent from "./SlateComponent";
var slateTitle;
var title;
var gameSlates;
var currentSlate;
var slate;
data() {
return {
events: events,
title: title,
slate: slate,
};
},
async created() {
this.gameSlates = await getGameSlates();
this.currentSlate = this.gameSlates[2];
this.title = this.currentSlate.description;
console.info("The title is: " + this.title);
this.slate = this.currentSlate;
}
};
结果:无论我做什么,都没有 props 对象传递给组件。
如果我注释掉
该应用程序编译并运行良好,记录 currentSlate 或其属性 description 并显示组件,包括 title。
但是,当我包含该行时,它会爆炸,并出现错误:slate is undefined。
(我知道
props:
['slate', 'title'],
根据样式指南是不正确的。但我也无法使用首选格式。)
我在这里错过了什么?
【问题讨论】:
标签: nativescript-vue