我正在将道具传递给组件:
<template>
{{messageId}}
// other html code
</template>
<script>
export default {
props: ['messageId'],
data: function(){
var theData={
// below line gives ReferenceError messageId is not defined
somevar: messageId,
// other object attributes
}
}
}
</script>
在上面的代码中,我注释了给出错误的行。如果我删除该行,它将正常工作并且模板渲染正确(并且我也可以看到{{messageId}}的期望值)。因此,传递数据的逻辑是正确的。
似乎访问messageId
in data()的方法是错误的。那么我该如何访问messageId
数据中的道具呢?
请注意,如果您使用箭头功能分配数据,则此方法不起作用:
因为
this
不会指向该组件。而是使用一个普通函数:或使用Siva Tumma建议的ES6对象方法速记: