# VueUtil vue外部实例工具

## 导入使用
```code[javascript]
import VueUtil from "../../util/develop/vue";
```

## 获取一个被渲染的vue实例
> 会新创建元素 组件不会主动销毁
```code[javascript]
// 获取到组件装载后的实例对象
let vm = await VueUtil.getInstance(component);
```

## 获取一次性组件实例
> 实例将会再渲染其他组件时销毁
```code[javascript]
/**
 * 获取一次性组件实例
 * @param component 渲染组件
 * @param {Object|null} ops 配置
 * @param {Boolean} ops.key 控制区 key 如果不设置 可能存在其他业务创建实例的时候此实例的销毁
 * @param {Boolean} ops.show 组件是否显示 默认true
 * @returns {Promise<VM>}
 */
let vm = await VueUtil.getInstance(component,ops);
```

## 销毁一次性组件实例
> 实例将会再渲染其他组件时销毁
```code[javascript]
await VueUtil.destroyOnceInstance();
```

## 获取一次性组件实例里的promise
```code[javascript]
let component = {
    ...,
    methods: {
        success(){
            this.resolve("成功");
        },
        fail(){
            this.reject("失败");
        }
    }
}
let data = await VueUtil.getOnceInstancePromise(component,ops);
console.log(data=='成功');
```
