uni-app uniappx使用unicloud编译为App时异常

uni-app uniappx使用unicloud编译为App时异常

示例代码:

<template>  
  <view>  
    <image class="logo" src="/static/logo.png"></image>  
    <view class="text-area">  
      <text @click="jisuan" class="title">{{title}}</text>  
    </view>  
  </view>  
</template>  

<script>  
export default {  
  data() {  
    return {  
      title: 'Hello,World!'  
    }  
  },  
  methods: {  
    async jisuan(){  
      const UserModel=uniCloud.importObject("user");  
      try{  
        const res = await UserModel.sum(3,4)  
        console.log(res);  
      } catch (e){  
        console.log(e);  
      }  
    }  
  }  
}  
</script>  

<style>  
.logo {  
  height: 100px;  
  width: 100px;  
  margin: 100px auto 25px auto;  
}  
.title {  
  font-size: 18px;  
  color: #8f8f94;  
  text-align: center;  
}  
</style>

云对象

module.exports = {  
  sum(){  
    return a+b;  
  }  
}

操作步骤:

直接用示例代码复现

预期结果:

7

实际结果:

报错

bug描述:

uniappx编译为app无法使用,报错如图所示


更多关于uni-app uniappx使用unicloud编译为App时异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在uni-app x上,云函数和云对象的返回值必须是对象,因为前端的类型统一定义成了UTSJSONObject 你可以将你需要返回的值包裹在{}内,如下所示 return {
num: 0
}

更多关于uni-app uniappx使用unicloud编译为App时异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


从报错信息来看,问题出在云对象方法的实现上。你的云对象代码中有两个主要问题:

  1. 云对象方法sum()没有接收参数,但在调用时传入了3,4两个参数
  2. 方法内部使用了未定义的变量ab

正确的云对象代码应该是:

module.exports = {
  sum(a, b) {  // 需要声明参数
    return a + b;  // 使用传入的参数
  }
}
回到顶部