鍍金池/ 問答/Android  HTML/ android組件擴展無法提供方法供weex調(diào)用?

android組件擴展無法提供方法供weex調(diào)用?

根據(jù)文檔已經(jīng)實現(xiàn)了一個簡單的組件擴展,屬性通過@WXComponentProp注解沒有問題,可以正常使用,但是使用
@JSMethod來注解的方法卻無法再vue中調(diào)用,控制臺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()

這里是在控件完全渲染出來之后才調(diào)用的,this.$refs.lists consolo.log了一下,是object,說明組件對象是確實拿到了的....

以下是官方文檔:

clipboard.png

另外偷偷吐槽下官方文檔,this.$el根本來組件都拿不到,無語...

回答
編輯回答
若相惜

我也碰到這個問題了,,請問你解決了嗎?

2017年2月7日 22:29
編輯回答
孤影

用法錯誤,應(yīng)該是this.$refs.lists[0].test(),
this.$refs.名稱 是一個數(shù)組,this.$refs.名稱[0]才是組件,才能訪問@JSMethod公布的方法

2018年5月13日 16:38