使用以下代码时: https://github.com/iamshaunjp/vuejs-playlist/blob/lesson-18/src/App.vue
我的浏览器显示function () { [native code] }
应显示的地方" heeey cowboy"。
知道发生了什么事吗?我使用CLI从教程here开始工作,一切都与提供的文件相同。
答案 0 :(得分:11)
你忘记了括号配偶:
<template>
<div>
<h1>{{ title }}</h1>
<p>{{ greeting() }}</p>
</div>
</template>
错误发生在greeting
,您忘记在()
之后添加这些括号,这就是您调用javascript function的方式
答案 1 :(得分:0)
就我而言,我的代码没有错。我只需要删除node_modules文件夹,重建应用程序,注销服务工作者,刷新应用程序即可开始使用
答案 2 :(得分:0)
在 Vue 3 中,在将 main.js 的部分重构为模板时,我错误地将 computed:
(属性)复制/粘贴到了 myTemplate.js 中的 methods:
。
当我重新运行应用程序时,我看到:
function () { [native code] }
... 而不是从函数返回值。
将我的计算属性从 methods:
移动到我的 computed:
的 app.component
部分后,模板正确调用了函数。
要在 Vue 中使用计算属性,我们不需要 ()
,就像 get
方法一样。
app.component('your-template', {
props: {
someObject: {
type: Object,
required: true
}
},
methods: {
/* METHODS WITH ARGUMENTS - callWith(args) */
},
computed: {
/* PROPERTIES - call without () */
lastUpdated() {
let _date = new Date(this.bookshelf.modified)
return _date.toLocaleString()
},
},
template:
/*html*/
`
<h3>
{{ someObject.name }}
</h3>
<div>Updated: {{ lastUpdated }}</div>
`,
})