Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript &引用;本机代码“;返回VueJS方法的消息_Javascript_Vue.js - Fatal编程技术网

Javascript &引用;本机代码“;返回VueJS方法的消息

Javascript &引用;本机代码“;返回VueJS方法的消息,javascript,vue.js,Javascript,Vue.js,使用以下代码时: 我的浏览器显示function(){[native code]}应该显示“heeey cowboy”的地方 知道发生了什么吗?我正在使用CLI从教程开始工作,所有内容都与提供的文件相同。您忘记了括号: <template> <div> <h1>{{ title }}</h1> <p>{{ greeting() }}</p> </div> <

使用以下代码时:

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


知道发生了什么吗?我正在使用CLI从教程开始工作,所有内容都与提供的文件相同。

您忘记了括号:

<template>
    <div>
        <h1>{{ title }}</h1>
        <p>{{ greeting() }}</p>
    </div>
</template>

{{title}}
{{问候语()}}


错误在
问候语中
,您忘记在它之后添加这些括号
()
,这就是您如何称呼a

在我的情况下,我的代码没有问题。我只需删除node_modules文件夹,重建应用程序,注销服务人员,刷新应用程序,它就开始工作了

方法:vs.计算: 在Vue 3中,在将main.js的部分重构为模板时,我错误地将
computed:
(属性)复制/粘贴到myTemplate.js中的
方法:

当我重新运行应用程序时,我看到:

function () { [native code] }
。。。而不是从函数返回值

将我的计算属性从
methods:
移动到我的
app.component
computed:
部分后,模板正确地调用了函数

要在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>
        `,
})
app.component('your-template'{
道具:{
someObject:{
类型:对象,
必填项:true
}
},
方法:{
/*带参数的方法-callWith(args)*/
},
计算:{
/*属性-不带()的调用*/
最近更新(){
让_date=新日期(this.bookshelf.modified)
返回_date.toLocaleString()
},
},
模板:
/*html*/
`
{{someObject.name}
已更新:{lastUpdated}}
`,
})

显示您是如何调用应该说“heeey cowboy”的函数的。您可能缺少一个
、一些
()
,或者做了一些事情导致Vue尝试输出一个与调用某个东西类似的文本函数。啊哈!有趣的是,如果是香草的话,我会抓到的。有时,Vue不需要在方法调用后加括号。你能解释一下这是什么时候/为什么吗?好吧,这不是关于vue,而是关于函数是回调。发生的事情是将函数发送给运行它的父函数。以下是回调的简要说明:我会将问候语设置为数据或计算属性,并在需要更改该值时调用方法——或者更好的是,创建一个反应式计算属性(仅当需要时才会更新)。尽可能使用静态变量或数据/计算道具。当你在模板中使用一个方法时,它会随着页面的重画而被反复调用,我认为可能只有很少的用例需要这样做