在子组件中定义了一个方法,现在在父组件中调用会出现一些问题,求各路高手帮助
部分代码如下:
子组件中定义的方法:
methods:{
getUEContent: function(){
return this.editor.getContent();
},
setUEContent: function(something){
this.editor.setContent(something);
},
}
父组件中先定义了一个对话框:
<el-dialog title="新增菜单" size="small" v-model="addFormVisible2" :close-on-click-modal="false">
<div>
<el-button size="primary" type="info" icon="plus" @click="getContent2">获取内容</el-button>
<NEditor :config=config2 ref="neditor"></NEditor>
</div>
</el-dialog>
默认不显示,addFormVisible2 = false;
然后设置一个按钮:
<el-button type="primary" @click.native="editItem">打开</el-button>
点击显示对话框:
editItem: function(){
this.addFormVisible2 = true;
this.$refs.neditor.setUEContent("这里是测试语句");
},
测试会出现如下错误:
初学vue,求高手们指导
已经解决了。。只要在子组件定义的方法里加上this.$nextTick就行了,异步执行的原因,子组件还没渲染完就调用了方法就会这样