App new Function 执行 TypError
- Dominant language
- JavaScript
- Stars
- 41.6k
- Forks
- 3.7k
- Avg merge
- 7h 6m
- Merged PRs (30d)
- 6
Description
**问题描述**
App 运行环境中,组件 v-if 延迟更新, new Function 执行 TypError
**复现步骤**
[复现问题的步骤]
组件A,使用 `newFunction`
```js
{{parseParams()}}
export default {
methods: {
parseParams(){
// Error : type Error 'no access'
new Function('a', 'console.log(a)')
}
}
}
```
页面B,控制A显示
```js
export default {
data(){
return {
showA:false
}
},
methods: {
},
mounted(){
this.showA = true
}
}
```
**预期结果**
App 下 , new Function 功能正常
**实际结果**
App 下 , new Function 功能不正常。
**系统信息:**
System:
OS: Windows 10
CPU: (8) x64 Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz
Binaries:
Node: 12.18.4 - E:\DevEnv\nodejs\node.EXE
Yarn: 1.17.3 - D:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.6 - E:\DevEnv\nodejs\npm.CMD
Browsers:
Edge: 44.19041.1023.0
npmPackages:
@dcloudio/types: ^2.2.4 => 2.2.4
@dcloudio/uni-app-plus: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-app-plus-nvue: 0.0.1
@dcloudio/uni-app-plus-nvue-v8: 0.0.1
@dcloudio/uni-automator: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-cli-shared: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-h5: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-helper-json: * => 1.0.13
@dcloudio/uni-i18n: 0.0.3
@dcloudio/uni-migration: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-360: ^2.0.0-alpha-31920210506002 => 2.0.0-alpha-31920210506002
@dcloudio/uni-mp-alipay: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-baidu: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-qq: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-toutiao: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-vue: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-mp-weixin: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-quickapp-native: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-quickapp-webview: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-stat: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/uni-template-compiler: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/vue-cli-plugin-hbuilderx: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/vue-cli-plugin-uni: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/vue-cli-plugin-uni-optimize: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/webpack-uni-mp-loader: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@dcloudio/webpack-uni-nvue-loader: 0.0.1
@dcloudio/webpack-uni-pages-loader: ^2.0.0-31920210428001 => 2.0.0-31920210428001
@hap-toolkit/dsl-vue: 0.6.13
@vue/babel-helper-vue-jsx-merge-props: 1.2.1
@vue/babel-helper-vue-transform-on: 1.0.2
@vue/babel-plugin-jsx: 1.0.3
@vue/babel-plugin-transform-vue-jsx: 1.2.1
@vue/babel-preset-app: 4.5.13
@vue/babel-preset-jsx: 1.2.4
@vue/babel-sugar-composition-api-inject-h: 1.2.1
@vue/babel-sugar-composition-api-render-instance: 1.2.4
@vue/babel-sugar-functional-vue: 1.2.2
@vue/babel-sugar-inject-h: 1.2.2
@vue/babel-sugar-v-model: 1.2.3
@vue/babel-sugar-v-on: 1.2.3
@vue/cli-overlay: 4.5.13
@vue/cli-plugin-babel: ^4.5.13 => 4.5.13
@vue/cli-plugin-router: 4.5.13
@vue/cli-plugin-vuex: 4.5.13
@vue/cli-service: ^4.5.13 => 4.5.13
@vue/cli-shared-utils: 4.5.13
@vue/component-compiler-utils: 3.2.0 (3.2.0)
@vue/preload-webpack-plugin: 1.1.2
@vue/shared: ^3.0.11 => 3.0.11
@vue/web-component-wrapper: 1.3.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.11 => 2.6.12
vue-currency-input: ^2.0.0 => 2.0.0
vue-demi: 0.9.1
vue-hot-reload-api: 2.3.4
vue-loader: 15.9.6 (16.2.0, 15.9.6)
vue-router: 3.0.1
vue-style-loader: 4.1.3 (4.1.3)
vue-template-compiler: ^2.6.11 => 2.6.12 (2.6.12)
vue-template-es2015-compiler: 1.9.1
vuex: ^3.2.0 => 3.6.2
npmGlobalPackages:
@vue/cli: Not Found
**补充信息**
如果不用 `v-if` 延迟组件显示,则功能正常。猜测页面根组件渲染完毕,再通过 v-if 渲染子组件,是否与根组件,子组件在页面初始化时一起渲染的执行环境不同。所以导致 new Function 在 v-if 延迟渲染后,执行异常
Contributor guide
Assessment
This issue has not been assessed yet.