【发布时间】:2018-02-02 15:45:00
【问题描述】:
我在一个组件中定义了两个函数。 foo() 仅在<script> 中定义,而 fooExported() 则在 export default {} 的主体中定义
我的理解是 export default {} 中的函数可以在模板中访问,因此听起来“未导出”函数 foo() 是仅在 <script> 范围内可用的“私有”函数(这是正确的吗? )。它们还有什么不同?
我也试图在“未导出”方法中访问 this.$data,但它显示未定义的错误。不能访问数据吗?
<template>
...
</template>
<script>
function foo(){
console.log(this.$data.message) // error: 'this' is undefined.
}
const bar = 123
export default {
data(){
return {
message: 'MyMessage'
}
},
methods: {
fooExported(){
console.log(this.$data.message) // this works.
}
}
}
</script>
<style scoped>
</style>
【问题讨论】:
标签: javascript vue.js