TerryZ / v-dialogs

A simple style useful dialog component collection for Vue
https://terryz.github.io/docs-vue3/dialog/
MIT License
130 stars 27 forks source link

请问一下,可以使用CDN方式使用吗? #17

Closed chanyipiaomiao closed 5 years ago

chanyipiaomiao commented 5 years ago

我现在通过CDN方式使用时遇到了问题(历史问题不能使用npm这种方式), 我使用Vue.component{'组件名A', {}} 全局注册组件A,在其他的组件B里面这样调用 this.$dlg.modal(这个地方如何填写, {}), 尝试以下几种方式都不行

  1. Vue.component('组件名A') 报错: Invalid prop: type check failed for prop "component". Expected Object, got Function
  2. '组件名'
  3. 使用私有组件的注册方式进行 都不行, 该如何填写
TerryZ commented 5 years ago

v-dialogs 的最新版本 CDN:https://unpkg.com/v-dialogs@2.0.3/dist/v-dialogs.js

如果你是使用

<script src="https://unpkg.com/v-dialogs@2.0.3/dist/v-dialogs.js"></script>

的方式把插件引入到页面,那么这时候你在上下文环境可以获得 vDialog 对象

再将它进行注册即可

Vue.use(vDialog.default)
chanyipiaomiao commented 5 years ago

https://unpkg.com/v-dialogs@2.0.3/dist/v-dialogs.js

是这样子用的,这一点是没问题, 我的问题是在 this.$dlg.modal(这个地方如何填写, {}),我看官网例子上这里本来是填写的是 image 但是 我的全局注册的组件,这个地方不知道该怎么引用了 我是应该写个字符串呢,还是怎么写

TerryZ commented 5 years ago

import 语法都不能用么?

chanyipiaomiao commented 5 years ago

找到使用方法了,直接定义一普通的对象就可以,像这样

var RoleServiceForm = {
    template: '',
    props: {

    },
    data: function() {
        return {

        }
    },
    methods: {
        save: function () {

        }
    },
    mounted: function () {

    }
};

然后this.$dlg.modal(RoleServiceForm, {}) 这样直接使用就行了

TerryZ commented 5 years ago

👍