【发布时间】:2019-02-16 16:54:09
【问题描述】:
我正在尝试使用 Vue.js 反向显示字符串。我的模板是:
<div id="app">
<reverse :msgreverse="message" :reverseMessage="reverseMessage()"></reverse>
</div>
还有我的脚本:
function reverseMessage(msg) {
return msg.split('').reverse().join('')
}
Vue.component('reverse', {
props:["msgreverse", "reverseMessage"],
template: '<p v-html="reverseMessage(msgreverse)"></p>'
})
var app = new Vue({
el: '#app',
data: {
message:'The message to reverse !',
}
})
这会失败并出现以下控制台错误:
TypeError:reverseMessage 不是函数。 (在'reverseMessage()'中,'reverseMessage'是未定义的)
渲染错误:“TypeError:reverseMessage 不是函数。(在 'reverseMessage()' 中,'reverseMessage' 未定义)”
属性或方法“reverseMessage”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保该属性是反应性的,无论是在数据选项中,还是对于基于类的组件
如何让<reverse> 组件反向显示给定的字符串?
【问题讨论】:
-
您的
reverseMessage函数必须在methods: {}中定义为您的Vue 实例方法。检查这是否有效。另外,在reverse组件中定义它并在那里调用它(没有道具)不是更好吗?毕竟,这就是该组件的用途。
标签: javascript vue.js vuejs2