Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue.JS:打开对话框后如何调用函数?_Javascript_Vue.js - Fatal编程技术网

Javascript Vue.JS:打开对话框后如何调用函数?

Javascript Vue.JS:打开对话框后如何调用函数?,javascript,vue.js,Javascript,Vue.js,我正在编写Vuejs。当我使用函数打开对话框时,对话框包含ID为:content\u description的文本区域 <v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition"> <v-card> <v-toolbar dark col

我正在编写Vuejs。当我使用函数打开对话框时,对话框包含ID为:content\u description的文本区域

<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition">
<v-card>
    <v-toolbar dark color="green darken-4">
      <v-btn  icon dark @click="editCanvasFlag = false">
        <v-icon>mdi-close</v-icon>
      </v-btn>
      <v-toolbar-title>Chỉnh sửa &nbsp; <v-chip color="green">{{  selectedCanvas !=null? selectedCanvas.name : '' }}</v-chip></v-toolbar-title>
      <v-spacer></v-spacer>
        <v-btn color="success"><v-icon left>mdi-content-save</v-icon>Update</v-btn>
    </v-toolbar>
    <div class="pa-12 pt-4 d-flex">
        <v-form ref="form" class="register-form" style="width:90%">
             <v-container class="pa-0">
                <h5>Description:</h5>
                <!-- <sun-ed id="content_description"></sun-ed> -->
                <textarea v-model="content_description" id="content_description"></textarea>
             </v-container>
        </v-form>
    </div>
</v-card>
但it错误:
v-on处理程序中的错误:“错误:[SUNEDITOR.create.fail]找不到该id的元素(id:“content\u description”)”

当对话框打开时,我调用函数create this SunEditor就可以了


我想在对话框打开后加载此函数创建此SunEditor。有人能帮我吗。多谢各位

您可以使用
输入
事件,该事件由
v-dialog
触发,只要边界模型得到更新,这意味着一旦您打开和关闭对话框,它就会被触发

<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition" @input="dialogToggle">
.....
</v-dailog>
<script>
  methods: {
   dialogToggle(dialogState) {
     if (dialogState) { // only when dialog get open
        // At this point you dialog state should have opened Now you can call your function
    // But to be sure you can check for DOM update
    this.$nextTick(() => {
      // Call your method, as it's completely gurantees if the DOM get updated
    })
      }

   }
  }
</script>

.....
方法:{
dialogToggle(dialogState){
if(dialogState){//仅当对话框打开时
//此时对话框状态应该已经打开,现在可以调用函数了
//但为了确保您可以检查DOM更新
这个.$nextTick(()=>{
//调用您的方法,因为如果DOM得到更新,这是完全可以保证的
})
}
}
}

我建议您尝试不使用
nextTick
回调,如果您无法找到您的模式,则使用
nextTick

您可以使用
input
事件,该事件由
v-dialog
触发,只要有界模型得到更新,这意味着一旦打开和关闭对话框,它就会被触发

<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition" @input="dialogToggle">
.....
</v-dailog>
<script>
  methods: {
   dialogToggle(dialogState) {
     if (dialogState) { // only when dialog get open
        // At this point you dialog state should have opened Now you can call your function
    // But to be sure you can check for DOM update
    this.$nextTick(() => {
      // Call your method, as it's completely gurantees if the DOM get updated
    })
      }

   }
  }
</script>

.....
方法:{
dialogToggle(dialogState){
if(dialogState){//仅当对话框打开时
//此时对话框状态应该已经打开,现在可以调用函数了
//但为了确保您可以检查DOM更新
这个.$nextTick(()=>{
//调用您的方法,因为如果DOM得到更新,这是完全可以保证的
})
}
}
}
我建议您尝试不使用
nextTick
回调,如果您无法找到您的模式,请使用
nextTick