z***@hotmail.com
z***@hotmail.com
  • 发布:2020-03-20 23:49
  • 更新:2022-11-28 16:31
  • 阅读:3082

renderjs子父组件

分类:uni-app

bug现象: child为子组件 renderjs模式.父组件向子组件传参,子组件接收不到

代码:
子组件

<template>  
    <view class="children-main">  
        <view id="children"   
        @click="children.callChildrenMethod"  
        >  
        </view>  
    </view>  
</template>  
<script module="children" lang="renderjs">  
export default {  
  props: {  
     val_a: {  
      default: 'b'  
       type: String  
   }  
  },  
  methods: {  
       callChildrenMethod:function() {  
            console.log(val_a)  
       }  
  }  
}  
</script>
<template>  
    <view class="children-main">  
        <children  
               ref="childrenRef"  
        :val_a='new_val'  
        >  
        </children >  
               <button @click="testRefs"></button>  
    </view>  
</template>  
<script>  
export default {  
  data() {  
     return: {  
       new_val:"a"  
     }  
  },  
  methods: {  
       testRefs:function() {  
            this.$refs.childrenRef. callChildrenMethod();  
       }  
  }  
}  
</script>

代码如上

在h5模式下工作正常
在ios和android 真机调试环境下
现象

  1. 子组件val_a 不会因为子组件的传参所改变
  2. 当子组件的val_a 不在module children中时参数可以接收,但这时候需要调用module children中一个方法,这时候失败
  3. 当父组件通过$refs 调用子组件的方法时会报 not function的错误
2020-03-20 23:49 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

同样遇到这个问题,题主要是有进展的话希望可以分享一下,renderjs相关的资料好像没多少,官方那一点文档让人看得云里雾里得

慢慢慢慢6666

慢慢慢慢6666 - 慢慢、

现象3的的确没法弄,官方也只是做了数据更新的demo

慢慢慢慢6666

慢慢慢慢6666 - 慢慢、

对于父组件给子组件传参的可以给子组件非renderjs模块内传参,,然后数据更新,在renderjs就可以直接调用

Basil

Basil

同样的问题。希望官方能提供解决方案

降龙十八掌

降龙十八掌

遇到和楼主同样的问题,,,求哪位大咖给个具体解决的实例

8***@qq.com

8***@qq.com

写个正常的script,再那里面接就行了

guilty

guilty - 967436

补充:写个正常的script来获取,再监听得到

  • 1***@qq.com

    使用的hbuilder写的代码吗,使用vscode写两个script标签会报错

    2023-10-09 10:31

5***@qq.com

5***@qq.com

老师,如何在renderjs中获取到vuex中store的数据哈

7***@qq.com

7***@qq.com

父向子传参有可行的方案,但是子传父在不依赖点击事件的情况下有什么好的方案吗?

要回复问题请先登录注册