【发布时间】:2017-09-02 21:17:58
【问题描述】:
当我有一个 Vue.js 组件时,它可能看起来像:
import Icon from './Components/Icon.vue'
export default {
props: {
data: {type: Object}
},
data() {
return {
label: this.data.label || '',
icon: this.data.icon || '',
placeholder: this.data.placeholder || '',
value: this.data.value || '',
disabled: this.data.disabled || false,
readOnly: this.data.readOnly || false,
options: this.data.options || []
}
},
components: {
Icon: Icon
}
}
命名空间在 Vue 中是如何工作的?是否将 props 键、数据返回对象键和所有组件对象键都添加到 this 实例中?是否没有错误/覆盖内容的风险?
那么,如果我覆盖 this.data,我还能读取在 props 中收到的原始值吗?
在来自props 的data 状态对象中设置“默认”值的社区实践是什么,这样我们既可以拥有一个动态的state 对象,又可以保留props 以备不时之需?
和相关:如果通过props 和v-bind 我应该在我的组件内部将它们添加到watch 吗?还是将我所有的动态值作为计算版本,每次调用时都考虑到props?
感谢您的反馈。
【问题讨论】:
-
>>相关:如果通过 v-bind 传递道具,我应该将它们添加到我的组件内部观看吗?还是让我所有的动态值成为计算版本,每次调用时都会考虑道具?>>第二个。 Props 是响应式的:当传入的 prop 更新时,组件的属性也会更新。
标签: javascript vue.js