从代理事件调用对象方法

Ractive.js Calling object method from proxy event

本文关键字:对象 方法 调用 事件 代理      更新时间:2023-09-26

我想从activex中调用一个特定对象的方法。

on-click="mylist.page(5)"
在这种情况下,带有next方法的mylist对象将被设置在活动对象上。

当我将next方法直接添加到可响应对象上时,它会起作用,但当嵌套在

中更深的时候就不起作用了。

当前仅支持在事件处理程序中调用一个实例方法:

on-click='setPage(5)'

能够连锁呼叫正在考虑之中。

现在,你必须通过一个方法路由它:

new Ractive(){
    mylist: {
        page: function(page){
            // do page work
        }
    },
    setPage: function(page) {
        this.mylist.page(page);
    }
}

如果你真正想要的是在一个数据对象上调用一个方法,添加一个原型方法到reactive:

Ractive.prototype.call = function( obj, method ) {
    var args = [].prototype.slice.call( arguments, 2 );
    obj[method].apply( obj, args );
}

那么你可以使用:

on-click='call( mylist, "page", 5)'