【发布时间】:2019-04-24 13:29:24
【问题描述】:
是否可以通过将方法名称处理到其属性之一来触发 Vue 组件方法?
// main.vue
<navigation :button-left="goback()"></navigation>
// navigation.component.vue
...
props: ["buttonLeft"],
...
methods: {
goback() {
console.log('Run this.');
},
},
...
我试过这样但它给了我一个错误:
[Vue 警告]:属性或方法“goback”未在实例上定义,但在渲染期间被引用。通过初始化该属性,确保此属性是反应性的,无论是在数据选项中,还是对于基于类的组件。请参阅:https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties。
【问题讨论】:
-
你的用例是什么?
-
目的是通过导航处理路由。导航的按钮因页面而异。对于某些按钮,需要处理固定的路由路径,但对于其他按钮,它只是打算在路由历史中退一步,这应该通过一种简单的方法来完成。
-
触发方法执行是什么意思?
-
您是否尝试将事件从子组件发送到父组件并在父组件中执行您想要的操作?
标签: javascript vue.js vuejs2 vue-component