我使用了一个 vue 的框架 quasar,因为模态框内容比较多所以单独做了一个组件
quasar 的模态框组件只能通过设置 v-model 和 refs.[name].open()打开。但是把模态框组件引用到其他组件的时候,refs 不能操作模态框开启,所以我只能每次都传一个 Boolean 值去控制模态框开启,当要关闭的时候每次都$emit 父组件去修改 Boolean 值。但是这样总觉的不舒服,有没有优雅的方法呢
// 代码
<q-modal ref="modal" v-model="isOpen"> // 模态框内容 </q-modal>// 在这个 q-modal 的.vue 里面可以通过 refs 开启模态框,通过$refs.modal.open()
// 就是上面的模态框组件
<my-modal ref="myModal" :isopen="true"></my-modal>
// 这里就没有办法调用$refs 里面的 open 了,只能通过设置 isOpen 去操控
1
noe132 2018-03-29 10:06:29 +08:00
|
2
chairuosen 2018-03-29 10:15:34 +08:00
问题描述不清楚,my-modal 是谁写的
|
3
ghostgril OP @chairuosen my-modal 就是引用了 q-modal 的.vue 组件
|
5
chairuosen 2018-03-29 10:47:47 +08:00
@ghostgril 是你写的么?你能改么?加个 open(){this.$refs.modal.open()} 不得了
|
6
ghostgril OP @chairuosen 是我写的
|
7
fe619742721 2018-03-29 10:51:17 +08:00
.sync 父子双绑用在这个场景不是挺合适的么。。
分场景使用就行了啊。。 我还在一个复杂需求里大量使用过对象浅拷贝特性 来频繁修改跨级组件间的内容呢。。 自己控制好使用范围就行。。 |