Javascript 如何在backboneJS事件中使用多个参数
我需要传递onchange函数的第二个参数 (在本例中为“border radius”),即我在范围输入中传递的值,该值需要传递到javascript上的console.log中。 它已经适用于“value”变量。 “value”变量返回一个应返回的整数,但cssAttribute变量返回的是“Object”,而不是“border radius”字符串 HTMLJavascript 如何在backboneJS事件中使用多个参数,javascript,jquery,backbone.js,backbone-events,Javascript,Jquery,Backbone.js,Backbone Events,我需要传递onchange函数的第二个参数 (在本例中为“border radius”),即我在范围输入中传递的值,该值需要传递到javascript上的console.log中。 它已经适用于“value”变量。 “value”变量返回一个应返回的整数,但cssAttribute变量返回的是“Object”,而不是“border radius”字符串 HTML (…) (...) JS: var侧栏=Backbone.Model.extend({ setElementAttributes:函
(…)
(...)
JS:
var侧栏=Backbone.Model.extend({
setElementAttributes:函数(值、CSSATAttribute)
{
set({property:value});
console.log(cssAttribute);//您可以使用触发器的选项参数(第二个)将值从触发器传递给侦听器
它将作为第三个参数发送给您的听众
代码:
var Sidebar = Backbone.Model.extend({
setElementAttributes: function (value, cssAttribute) {
this.set({
property: value
}, {
cssAttribute: cssAttribute
});
}
});
window.sidebar = new Sidebar;
sidebar.on('change:property', function (model, value, options) {
console.log(options.cssAttribute);
});
请告诉我问题出了什么问题,而不是在没有回答的情况下对其进行向下投票。你在任何地方都无法通过cssAttribute
,那么你为什么希望在change:property
中获得它呢?谢谢你花时间。每当“property”变量发生变化时,就会触发该事件。该步骤正在工作。在“侧栏上”f函数im使用参数值和cssAttribute,value返回一个整数(当前滑块值)。cssAttribute返回一个空对象,在这种情况下,我需要它返回值“border-radius”。检查html onchange=“sidebar.setElementAttributes(this.value,'border-radius')该值起作用,我现在只需要边界半径。你明白我在做什么吗?没关系,有人已经回答了,谢谢你抽出时间+1
var Sidebar = Backbone.Model.extend({
setElementAttributes: function(value,cssAttribute)
{
this.set({ property: value });
console.log(cssAttribute); //<- works!
}
});
window.sidebar = new Sidebar;
sidebar.on('change:property',function(model,value,cssAttribute)
{
console.log(value); // <- works!
console.log(cssAttribute); //<- doesn't work, value is 'Object' instead border-radius'
});
var Sidebar = Backbone.Model.extend({
setElementAttributes: function (value, cssAttribute) {
this.set({
property: value
}, {
cssAttribute: cssAttribute
});
}
});
window.sidebar = new Sidebar;
sidebar.on('change:property', function (model, value, options) {
console.log(options.cssAttribute);
});