VueJS方法返回「Native Code」而非预期值的问题咨询
问题分析与解决方案
我刚好熟悉这个Vue教程的内容,出现function () { [native code] }这个问题大概率是你在模板中调用方法时忘记加括号了!
咱们来看对应的代码细节:
在教程Lesson 18的App.vue里,methods选项中定义了greet方法:
methods: { greet() { return "heeey cowboy" } }
如果你的模板里写成了这样:
<p>{{ greet }}</p>
此时Vue会直接输出这个函数对象本身,而不是执行它获取返回结果,浏览器就会显示函数的原生代码描述文本。
正确的写法应该给方法加上括号,让它执行并返回目标字符串:
<p>{{ greet() }}</p>
另外可以快速排除几个小概率问题:
- 有没有误把方法写成了计算属性?不过计算属性本身不需要加括号,但教程里明确是
methods,所以可能性极低。 - 有没有在方法定义时漏写
return?但你说代码和仓库完全一致,这个可以直接排除。
只要把模板里的greet改成greet(),刷新页面就能看到预期的"heeey cowboy"啦!
内容的提问来源于stack exchange,提问作者drenl
相关产品推荐
相关产品推荐

