"原生代码"消息以换取VueJS方法

时间:2018-03-27 16:00:42

标签: javascript vue.js

使用以下代码时: https://github.com/iamshaunjp/vuejs-playlist/blob/lesson-18/src/App.vue

我的浏览器显示function () { [native code] }应显示的地方" heeey cowboy"。

知道发生了什么事吗?我使用CLI从教程here开始工作,一切都与提供的文件相同。

3 个答案:

答案 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>
        `,
})