-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
vue组件作为自定义组件被加载时不执行uni生命周期 #566
Comments
作为组件时,仅支持 Vue 的生命周期 |
唔, uni文档上没提到这一点呀 |
可是我看onReady是支持的呢? |
作为组件时,仅支持 Vue 的生命周期 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
问题描述
当一个自定义组件foo.vue作为page被载入能正常执行生命周期比如onLoad 、onShow等
但是当foo组件被其它page例如index.vue载入时 不执行foo的uni生命周期,仅执行foo的vue生命周期
复现步骤
1. 准备一个foo.vue
2. 准备一个index.vue
3. 访问这个
index.vue对应的page
并查看对应控制台仅能看到"foo created"
4. 访问这个
foo.vue对应的page
并查看对应控制台能看到"foo created"和"foo on show"
预期结果
在访问
index.vue对应的page
或foo.vue对应的page
均能看到"foo created"和"foo on show"实际结果
当foo组件被当成自定义组件在
index.vue对应的page
中加载仅能看到"foo created" 。foo的uni生命周期均为执行系统信息:
Environment Info:
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz
Binaries:
Node: 8.15.0 - D:\Program Files\nodejs\node.EXE
Yarn: 1.16.0 - ~\AppData\Roaming\npm\yarn.CMD
npm: 6.8.0 - D:\Program Files\nodejs\npm.CMD
Browsers:
Edge: 42.17134.1.0 (我明明默认浏览器是chrome)
npmPackages:
@dcloudio/types: * => 0.2.6
@dcloudio/uni-app-plus: * => 0.0.247
@dcloudio/uni-app-plus-nvue: 0.0.1
@dcloudio/uni-app-plus-nvue-v8: 0.0.1
@dcloudio/uni-cli-shared: * => 0.2.972
@dcloudio/uni-h5: * => 0.6.3
@dcloudio/uni-mp-alipay: * => 0.0.821
@dcloudio/uni-mp-baidu: * => 0.0.850
@dcloudio/uni-mp-qq: * => 0.0.105
@dcloudio/uni-mp-toutiao: * => 0.0.345
@dcloudio/uni-mp-weixin: * => 0.0.966
@dcloudio/uni-template-compiler: * => 0.9.180
@dcloudio/vue-cli-plugin-hbuilderx: latest => 1.0.120
@dcloudio/vue-cli-plugin-uni: latest => 0.9.493
@dcloudio/webpack-uni-mp-loader: * => 0.3.639
@dcloudio/webpack-uni-nvue-loader: 0.0.1
@dcloudio/webpack-uni-pages-loader: * => 0.2.852
@vue/babel-helper-vue-jsx-merge-props: 1.0.0
@vue/babel-plugin-transform-vue-jsx: 1.0.0
@vue/babel-preset-app: 3.9.2
@vue/babel-preset-jsx: 1.0.0
@vue/babel-sugar-functional-vue: 1.0.0
@vue/babel-sugar-inject-h: 1.0.0
@vue/babel-sugar-v-model: 1.0.0
@vue/babel-sugar-v-on: 1.0.0
@vue/cli-overlay: 3.9.0
@vue/cli-plugin-babel: 3.5.1 => 3.5.1
@vue/cli-plugin-typescript: ^3.5.1 => 3.9.0
@vue/cli-service: ^3.9.0 => 3.9.2
@vue/cli-shared-utils: 3.9.0
@vue/component-compiler-utils: 2.6.0
@vue/preload-webpack-plugin: 1.1.0
@vue/web-component-wrapper: 1.2.0
mpvue-page-factory: 1.0.1
mpvue-template-compiler: 1.0.13
uni-h5-vue: 2.6.10
uni-mp-vue: 2.6.10
vue: ^2.6.10 => 2.6.10
vue-class-component: ^6.3.2 => 6.3.2 (7.1.0)
vue-hot-reload-api: 2.3.3
vue-loader: 15.7.0
vue-property-decorator: ^8.2.1 => 8.2.1
vue-router: 3.0.1
vue-style-loader: 4.1.2
vue-template-compiler: ^2.6.10 => 2.6.10
vue-template-es2015-compiler: 1.9.1
vuex: ^3.0.1 => 3.1.1
npmGlobalPackages:
@vue/cli: Not Found (我不知道为什么找不到,实际版本是3.8.4)
补充信息
[可选]
[根据你的分析,出现这个问题的原因可能在哪里?]
看看uni对于生命周期的处理吧。。 但是感觉也有可能要魔改vue源码
The text was updated successfully, but these errors were encountered: