reactjs - Vue:组件中声明的道具未定义
问题描述
我花了两天时间,试图自己解决这个问题,但无法让它发挥作用。基本上我在父组件中声明了我的所有道具,但由于某种原因它们根本没有出现。
零件
let addFilter = {
props: ['newFilterName'],
template: `<div class="row">
<div class="field-options">{{ newFilterName }}</div>
</div>`,
};
实例
let filterManager = new Vue({
el: '#filter-manager',
components: {
'add-filter': addFilter
},
data: {
newFilterName: 'Test1234'
}
});
HTML
<div id="filter-manager" v-show="visible">
<div class="body">
<add-filter></add-filter>
</div>
</div>
解决方案
您需要将数据从父级传递给组件
<div id="filter-manager" v-show="visible">
<div class="body">
<add-filter :new-filter-name="newFilterName" ></add-filter>
</div>
</div>
要明确:new-filter-name
的是子组件的属性,右侧"newFilterName"
是您在父组件中定义的数据属性。只是将它们命名为相同并没有任何作用。实例化组件时需要分配。
推荐阅读
- python - 使用 Seaborn 和 Matplotlib 时 tcl 不工作
- c - 为什么我们可以比较字符常量?
- java - 为什么 RxJava2 不向线程发送数据
- maven - Quarkus 项目 Graal Native 使用 Maven
- c# - UWP Listview 在水平滚动中冻结列
- markdown - 如何使用 Blazor 在 textarea 或 inputTextArea 内渲染 MarkDown
- css - Bulma:无法在按钮上同时使用 is-static 和 is-primary 修改
- php - 如何在 Laravel 中更新或创建 Redis 缓存数据?
- powershell - 从 Select-Object 结果中删除方括号
- php - HTML 表单到电子邮件 + 3rd 方表单后端平台