carbondodo
carbondodo
  • 发布:2023-11-30 11:02
  • 更新:2023-11-30 11:02
  • 阅读:160

【报Bug】添加原型方法,真机运行无效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: mac

HBuilderX类型: 正式

HBuilderX版本号: 3.98

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 安卓

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

1、将附件中的js文件在main.js中导入到Vue模型上
import jsBlock from 'utils/jsBlock/jsBlock.js'
const app = new Vue({
jsBlock,
jsViewBlock,
...App
})
app.$mount()
2、在web(浏览器)上运行没有任何问题

2、真机运行。在页面中使用,调用接口返回数据遍历处理数据,直接异常报错,找不到addObject()方法
getProjectListApi() {
let e = {
diseaseId: this.selectedData.id,
page: this.pageIndex - 1,
size: this.pageSize,
sort: 'create_time,desc'
}

            let self =  this  
            getProjectList(e).then(r => {  
                let slist = []  

                res.forEach(element => {  
                                           ……element进行处理数据后添加到数组中  
                    slist.addObject(element)  
                });  
                self.loadDone = true  
                self.dataList = slist  
                uni.hideLoading()  
            }).catch(err=>{  
                uni.hideLoading()  
                console.log('getProjectList 异常' + 'apiparams = ' + JSON.stringify(e) + 'error=' + JSON.stringify(err))  
            })  
        },

操作步骤:

1、将附件中的js文件在main.js中导入到Vue模型上
import jsBlock from 'utils/jsBlock/jsBlock.js'
const app = new Vue({
jsBlock,
jsViewBlock,
...App
})
app.$mount()
2、在web(浏览器)上运行没有任何问题

2、真机运行。在页面中使用,调用接口返回数据遍历处理数据,直接异常报错,找不到addObject()方法

预期结果:

正常使用原型扩展方法!!!

实际结果:

真机无法运行。直接报错!!!!web正常!!!!

bug描述:

//给数组添加原型方法,用以替换list.push(e)
Object.defineProperty(Array.prototype, "addObject", {
enumerable: false,
value: function(item) {
return this.push(item);
},
});

页面使用时list.addObject(e)

2023-11-30 11:02 负责人:无 分享
已邀请:

要回复问题请先登录注册