cbvirtua 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cbvirtua",
3
- "version": "1.0.9",
3
+ "version": "1.0.10",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/vue2/ex.vue ADDED
@@ -0,0 +1,66 @@
1
+ <template>
2
+ <div>
3
+ <p @click="exfun()" v-if="status">222</p>
4
+ <div v-if="refresh">
5
+ <exx v-show="hasData" />
6
+ </div>
7
+ </div>
8
+ </template>
9
+ <script>
10
+ import exx from './exx.vue'
11
+ let context = {}
12
+ const setContext = (vnode) => {
13
+ const p = new Promise((resolve, reject) => {
14
+ context.resolve = resolve
15
+ context.reject = reject
16
+ if (!vnode.context) {
17
+ vnode.context = context
18
+ }
19
+ })
20
+ return p
21
+ }
22
+ const initContext = () => {
23
+ setContext(exx) && context.resolve()
24
+ }
25
+
26
+ initContext()
27
+
28
+
29
+ export default {
30
+ name: 'ex',
31
+
32
+ data() {
33
+ return {
34
+ refresh: false,
35
+ status: true,
36
+ hasData: false
37
+ }
38
+ },
39
+ async beforeCreated() {
40
+
41
+ },
42
+
43
+ async mounted() {
44
+
45
+ },
46
+ components: {
47
+ exx
48
+ },
49
+ methods: {
50
+ async exfun() {
51
+ let p = setContext(exx)
52
+ this.refresh = !this.refresh
53
+ if (this.refresh) {
54
+ let d = await p
55
+ if (d) {
56
+ this.hasData = true
57
+ this.status = false
58
+ }
59
+ }
60
+ }
61
+ }
62
+ }
63
+ </script>
64
+
65
+ <style></style>
66
+
package/vue2/exx.vue ADDED
@@ -0,0 +1,44 @@
1
+ <script>
2
+ const NOOP = () => { }
3
+ export function useContext() {
4
+
5
+ }
6
+
7
+ let i = 0
8
+ export default {
9
+ name: 'ex',
10
+ data() {
11
+ return {
12
+ exx: 'exx1'
13
+ }
14
+ },
15
+ created() {
16
+ console.log(122222)
17
+ this.test()
18
+ },
19
+ mounted() {
20
+
21
+ },
22
+ components: {
23
+
24
+ },
25
+ methods: {
26
+ test() {
27
+ setTimeout(() => {
28
+ this.exx = 'exx2'
29
+ const { resolve } = this.$options.context
30
+ console.log(resolve)
31
+ i++
32
+ resolve(i)
33
+
34
+ }, 3000)
35
+ }
36
+ },
37
+ render() {
38
+ return <div>{this.exx}</div>
39
+ }
40
+ }
41
+ </script>
42
+
43
+ <style></style>
44
+