Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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 我能';我不知道如何制作一个模态';设置按钮';成分_Javascript_Vue.js_Vue Component_Quasar Framework - Fatal编程技术网

Javascript 我能';我不知道如何制作一个模态';设置按钮';成分

Javascript 我能';我不知道如何制作一个模态';设置按钮';成分,javascript,vue.js,vue-component,quasar-framework,Javascript,Vue.js,Vue Component,Quasar Framework,我正在使用Quasar VueJS,希望在导航栏上创建一个按钮,打开一个弹出对话框“设置”面板。我将使用这个设置面板来制作动态主题,但这有点离题 我目前正努力想办法做到这一点 “layouts/MainLayout.vue” 从“组件/SetterUpper”导入SetterUpper; 导出默认值{ 名称:“主布局”, 组成部分:{ 塞特鲁珀 }, }; “组件/SetterUpper.vue” 占位符 导出默认值{ 名称:“塞特鲁珀”, }; 将q对话框移动到父组件。这样,您就不必传递

我正在使用Quasar VueJS,希望在导航栏上创建一个按钮,打开一个弹出对话框“设置”面板。我将使用这个设置面板来制作动态主题,但这有点离题

我目前正努力想办法做到这一点

“layouts/MainLayout.vue”

从“组件/SetterUpper”导入SetterUpper;
导出默认值{
名称:“主布局”,
组成部分:{
塞特鲁珀
},
};
“组件/SetterUpper.vue”

占位符
导出默认值{
名称:“塞特鲁珀”,
};

将q对话框移动到父组件。这样,您就不必传递任何道具或发出事件来确保多个组件知道v-modal变量的状态

像这样 MainLayout.vue

<template>
  <q-layout view="lHh Lpr lFf">
    <q-dialog v-model="dialogEnabled" persistent>
      <SetterUpper />
    </q-dialog>
    <q-btn
      unelevated
      icon="settings"
      label="Settings"
      color="primary"
      v-on:click="dialogEnabled = true"
    />
  </q-layout>
</template>

<script>
import SetterUpper from 'components/SetterUpper'
export default {
  name: 'MainLayout',
  components: {
    SetterUpper
  },
  data() {
    return {
      dialogEnabled: false
    }
  }
}
</script>

<template>
  <q-card>
    <q-card-section class="row items-center">
      <q-avatar icon="settings" color="primary" text-color="white"/>
      <span class="q-ml-sm">Placeholder</span>
    </q-card-section>

    <q-card-actions align="right">
      <q-btn flat label="Cancel" color="primary" v-close-popup/>
      <q-btn flat label="Save" color="primary" v-close-popup/>
    </q-card-actions>
  </q-card>
</template>

<script>
export default {
  name: 'SetterUpper'
}
</script>

从“组件/SetterUpper”导入SetterUpper
导出默认值{
名称:'主布局',
组成部分:{
塞特鲁珀
},
数据(){
返回{
dialogEnabled:false
}
}
}
SetterUpper.vue

<template>
  <q-layout view="lHh Lpr lFf">
    <q-dialog v-model="dialogEnabled" persistent>
      <SetterUpper />
    </q-dialog>
    <q-btn
      unelevated
      icon="settings"
      label="Settings"
      color="primary"
      v-on:click="dialogEnabled = true"
    />
  </q-layout>
</template>

<script>
import SetterUpper from 'components/SetterUpper'
export default {
  name: 'MainLayout',
  components: {
    SetterUpper
  },
  data() {
    return {
      dialogEnabled: false
    }
  }
}
</script>

<template>
  <q-card>
    <q-card-section class="row items-center">
      <q-avatar icon="settings" color="primary" text-color="white"/>
      <span class="q-ml-sm">Placeholder</span>
    </q-card-section>

    <q-card-actions align="right">
      <q-btn flat label="Cancel" color="primary" v-close-popup/>
      <q-btn flat label="Save" color="primary" v-close-popup/>
    </q-card-actions>
  </q-card>
</template>

<script>
export default {
  name: 'SetterUpper'
}
</script>

占位符
导出默认值{
名称:'SetterUpper'
}