MithrilJS 在调用 m() 时将变量传递给配置
MithrilJS passing variables to config on m() call
我正在尝试让 jQuery FooTable 插件在我的秘银应用程序中运行。我的组件中有这样的配置调用:
view: function(ctrl, args) {
return m("table#globalConfigTable", {config: execFooTable})
}
this.execFooTable = function(element, isInit, context) {
$('#globalConfigTable').footable({
"columns": columns(),
"rows": args.configRows
})
}
args.configRows 是我传递给此组件的 GET 请求返回的承诺。我可以看到它确实成功调用了我的 execFooTable 函数,但我似乎无法弄清楚如何访问我的 args.configRows 变量。我已经尝试了 context.configRows 和其他一些方法,但它们都以未定义的形式返回。
谁能帮帮我?谢谢。
您可以使用以下功能:
// Partially apply arguments to a function. Useful for binding
// specific data to an event handler.
// Example use:
//
// var add = function (x,y) { return x + y; }
// var add5 = add.papp(5)
// add5(7) //=> 11
//
Function.prototype.papp = function () {
var slice = Array.prototype.slice,
fn = this,
args = slice.call(arguments);
return function () {
fn.apply(this, args.concat(slice.call(arguments)));
}
}
然后你可以像这样重写你的代码:
view: function(ctrl, args) {
return m("table#globalConfigTable", {config: execFooTable.papp(args)})
}
this.execFooTable = function(args, element, isInit, context) {
$('#globalConfigTable').footable({
"columns": columns(),
"rows": args.configRows
})
}
我正在尝试让 jQuery FooTable 插件在我的秘银应用程序中运行。我的组件中有这样的配置调用:
view: function(ctrl, args) {
return m("table#globalConfigTable", {config: execFooTable})
}
this.execFooTable = function(element, isInit, context) {
$('#globalConfigTable').footable({
"columns": columns(),
"rows": args.configRows
})
}
args.configRows 是我传递给此组件的 GET 请求返回的承诺。我可以看到它确实成功调用了我的 execFooTable 函数,但我似乎无法弄清楚如何访问我的 args.configRows 变量。我已经尝试了 context.configRows 和其他一些方法,但它们都以未定义的形式返回。
谁能帮帮我?谢谢。
您可以使用以下功能:
// Partially apply arguments to a function. Useful for binding
// specific data to an event handler.
// Example use:
//
// var add = function (x,y) { return x + y; }
// var add5 = add.papp(5)
// add5(7) //=> 11
//
Function.prototype.papp = function () {
var slice = Array.prototype.slice,
fn = this,
args = slice.call(arguments);
return function () {
fn.apply(this, args.concat(slice.call(arguments)));
}
}
然后你可以像这样重写你的代码:
view: function(ctrl, args) {
return m("table#globalConfigTable", {config: execFooTable.papp(args)})
}
this.execFooTable = function(args, element, isInit, context) {
$('#globalConfigTable').footable({
"columns": columns(),
"rows": args.configRows
})
}