【安卓】android组件扩展无法提供方法供weex调用?

根据文档已经实现了一个简单的组件扩展,属性通过@WXComponentProp注解没有问题,可以正常使用,但是使用
@JSMethod来注解的方法却无法再vue中调用,控制台log为:

ReportException : Exception: TypeError: this.$refs.lists.test is not a function. (In 'this.$refs.lists.test()

这是我在android端的test方法

 @JSMethod

public void test(){

Toast.makeText(context, "test!!", Toast.LENGTH_SHORT).show();

}

这是我在vue里的部分代码

<list-view :data="test" class="list_view" ref="lists"></list-view>

使用:

this.$refs.lists.test()

这里是在控件完全渲染出来之后才调用的,this.$refs.lists consolo.log了一下,是object,说明组件对象是确实拿到了的....

以下是官方文档:

【安卓】android组件扩展无法提供方法供weex调用?

另外偷偷吐槽下官方文档,this.$el根本来组件都拿不到,无语...

回答

用法错误,应该是this.$refs.lists[0].test(),
this.$refs.名称 是一个数组,this.$refs.名称[0]才是组件,才能访问@JSMethod公布的方法

我也碰到这个问题了,,请问你解决了吗?

说了你可能不信,在自定义的component上加上@Component(lazyload = false)注解就好了。lazyload取值可根据情况定。

以上是 【安卓】android组件扩展无法提供方法供weex调用? 的全部内容, 来源链接: utcz.com/a/98035.html

回到顶部