我注意到在列部分的模板中可以有一些kendo逻辑和变量。
这是我的专栏文章
中的一个例子 template: "#= myVariable# #if(myBoolean) {# <img src='/images/myImage.png' /> #}#"
请注意myVariable和myBoolean是网格每一行的变量(字段)。 不幸的是,我在模板的命令部分尝试了相同的操作。我收到以下错误“ReferenceError:myVariable未定义”
有没有办法在命令部分添加变量,就像列一样?
答案 0 :(得分:0)
据我所知,在columns.command
中使用模板甚至没有记录:尽管它有效。你可以做以下事情:
columns : [
{
command: {
template : "# console.log('this', this); console.log('data', data); # toto"
}
},
...
]
甚至喜欢:
command: {
template : function (arg) {
console.log("this" ,this);
console.log("arg", arg);
console.log("data", data);
return "toto";
}
}
但是模板返回的内容需要是string
,在浏览器的控制台中,您会看到this
是window
,arg
是对象{{ 1}}和command
是包含网格数据的data
。
虽然您可以包含额外的参数:
array
如果我添加了一个可以通过command: {
template : function (arg) {
console.log("this" ,this);
console.log("arg", arg);
console.log("arg.a", arg.a);
console.log("data", data);
return "toto";
},
a: "extra argument"
}
访问的额外a
参数,您仍然无法访问当前行arg.a
,因为该元素仍未插入。
而不是我所建议的做的是:
data
你不需要把它作为命令,对吗?你为什么需要它作为命令?