Javascript 使用自定义参数铆接.js事件处理程序
我刚刚开始使用Javascript 使用自定义参数铆接.js事件处理程序,javascript,rivets.js,Javascript,Rivets.js,我刚刚开始使用Rivets.js,它看起来很有希望成为简单的数据绑定框架 我已经到了不知道如何在单击活页夹时将“自定义参数”传递到rv的地步,因此我尝试从以下内容中汲取灵感: : 这段代码正在运行,我的问题是:这是正确的方法吗?如果希望将自定义参数传递给事件处理程序,那么这段代码可能更简单: rivets.configure({ // extracted from: https://github.com/mikeric/rivets/issues/258#issuecomment-524
Rivets.js
,它看起来很有希望成为简单的数据绑定框架
我已经到了不知道如何在单击活页夹时将“自定义参数”传递到rv的地步,因此我尝试从以下内容中汲取灵感:
:
这段代码正在运行,我的问题是:这是正确的方法吗?如果希望将自定义参数传递给事件处理程序,那么这段代码可能更简单:
rivets.configure({
// extracted from: https://github.com/mikeric/rivets/issues/258#issuecomment-52489864
// This configuration allows for on- handlers to receive arguments
// so that you can onclick="steps.go" data-on-click="share"
handler: function (target, event, binding) {
var eventType = binding.args[0];
var arg = target.getAttribute('data-on-' + eventType);
if (arg) {
this.call(binding.model, arg);
} else {
// that's rivets' default behavior afaik
this.call(binding.model, event, binding);
}
}
});
启用此配置后,单击时发送到rv
处理程序的第一个也是唯一一个参数是单击时数据指定的值
<a rv-on-click="steps.go" data-on-click="homePage">home</a>
然后您可以访问事件处理程序中的当前“组”对象,如下所示:
var viewModel = {
addItem: function(ev, view) {
var group = view.group;
}
};
关于这项技术的更多细节可以在这里找到
我希望这能有所帮助。这里还有另一个答案:
姓名:
您可以定义args
格式化程序:
rivets.formatters.args=函数(fn){
让args=Array.prototype.slice.call(参数,1)
return()=>fn.apply(null,args)
}
然后:
rv-on-click="on_click | args 1"
请注意,args
不是一个特殊的id,您可以定义任何内容来代替args
要传递多个参数,请使用空格:“单击“args 1 2 3'str'”
这是一个有效的参数(sic)-应该有一种方法将参数传递给事件处理程序,但不明显。
var viewModel = {
addItem: function(ev, view) {
var group = view.group;
}
};
rv-on-click="on_click | args 1"