Vue.js 从父事件触发子组件方法
我对VueJS和JavaScript非常陌生,非常感谢您的帮助 我的方法“Vue.js 从父事件触发子组件方法,vue.js,vue-component,Vue.js,Vue Component,我对VueJS和JavaScript非常陌生,非常感谢您的帮助 我的方法“问候”不起作用,我不确定原因。当我点击“更改为栏”按钮时,我得到错误信息: [Vue warn]:属性或方法“greet”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性在数据选项中或对于基于类的组件是被动的。请参阅: 发现于 ---> <Chatjsvue> at src\components\vueChartjs\Chatjsvue.vue <App> at s
问候
”不起作用,我不确定原因。当我点击“更改为栏”按钮时,我得到错误信息:
[Vue warn]:属性或方法“greet”未在实例上定义,但在渲染期间被引用。通过初始化属性,确保此属性在数据选项中或对于基于类的组件是被动的。请参阅:
发现于
---> <Chatjsvue> at src\components\vueChartjs\Chatjsvue.vue
<App> at src\App.vue
<Root>
您需要将greet()方法添加到chartjs.vue组件,而不是chartjsline。您的
组件(线条图的实例)是Chatjsvue
组件的子组件
子方法仍然绑定到这些实例
但是,执行它们的方法非常简单:
this.$refs.myLineChart.greet()
Vue.component('chart-js'{
模板:“#chartjs”,
方法:{
lineChildGreet(){
//通过$refs访问子组件。
//然后可以执行它的方法。
这是.refs.myLineChart.greet();
},
},
});
Vue.组件(“折线图”{
模板:“#折线图”,
方法:{
问候{
警惕(“你好”);
},
},
});
var app=新的Vue({
el:“#应用程序”,
});代码>
- 在子组件上打招呼
线条图
谢谢。我原以为可以通过chartjsline.js文件调用这些方法,正如我在.vue文件中所做的那样,import LineChart from'@/assets/javascripts/chartjsline'
,但我想这不起作用-我现在调用了.vue文件中的方法-谢谢你如果我有LineChart
?如何从“chart js”组件在组件模板的根元素上触发单击事件?@webprogrammer您应该将其设置为一个新问题,并说明您的问题的具体细节,而不是评论一篇与您所说的不同的旧文章。ghybs,好的,谢谢!但我已经找到了解决办法。我想我的问题和你的答案有关。对不起打扰你了。