Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不理解在网格中生成复选框的剑道模板_Javascript_Templates_Telerik_Kendo Ui_Kendo Grid - Fatal编程技术网

Javascript 不理解在网格中生成复选框的剑道模板

Javascript 不理解在网格中生成复选框的剑道模板,javascript,templates,telerik,kendo-ui,kendo-grid,Javascript,Templates,Telerik,Kendo Ui,Kendo Grid,我不了解剑道模板的一些基本知识,所以也许有人能给我解释一下。网格中单元格的模板示例来自Telerik示例代码 template:"<input type='checkbox' #= IsAdmin ? checked='checked':'' # /> 文档中说“#=”表示“render as literal”(无论是什么意思),我理解“IsAdmin”是在评估/执行模板时提供的值 #=后面的内容看起来像Javascript,但如果只是Javascript,它只会将名为“check

我不了解剑道模板的一些基本知识,所以也许有人能给我解释一下。网格中单元格的模板示例来自Telerik示例代码

template:"<input type='checkbox' #= IsAdmin ? checked='checked':'' # />
文档中说“#=”表示“render as literal”(无论是什么意思),我理解“IsAdmin”是在评估/执行模板时提供的值

#=后面的内容看起来像Javascript,但如果只是Javascript,它只会将名为“checked”的变量的值设置为“checked”或空字符串

是吗?这里的操作符真的是javascript,还是剑道模板语言?我没有看到任何关于剑道特定语言和操作符的提及。但如果这真的是一个Javascript?运算符,我们如何从中获取一个文本“checked='checked',而不是设置一个名为“checked”且值为“checked”的变量


请叫我困惑。

这是JavaScript。使用此模板字符串:

"<input type='checkbox' #= isAdmin ? checked='checked' : '' # />"
“”
Template.compile将生成如下函数:

function anonymous(data) {
    var o, e = kendo.htmlEncode;
    with(data) {
        o = '<input type=\'checkbox\' ' + (isAdmin ? checked = 'checked' : '') + ' />';
    }
    return o;
}
匿名函数(数据){
var o,e=kendo.htmlEncode;
有(数据){
o='';
}
返回o;
}
如您所见,您的模板部分在使用时没有任何更改。 渲染单元格时,将执行此函数(传入数据项,例如网格的行模型),并将生成的字符串用作单元格的内容

从呈现的HTML的角度来看,这里:

"<input type='checkbox' #= isAdmin ? checked='checked' : '' # />"
“”
相当于:

"<input type='checkbox' #= isAdmin ? 'checked' : '' # />"
“”
因为
checked='checked'
将简单地计算为“checked”。
但是,使用第一个变量也会对传递到模板函数的数据设置
checked
属性(请参阅).

请检查此url。已经检查过了,完成了。我需要更多。啊哈!我明白了。我的困惑是因为我没有意识到生成的html在真实情况下是简单的。我不知道没有值的属性甚至是合法的。当在浏览器中检查时,这些工具足够“有用”来转换我t转换为标准格式,并向我显示“checked='checked'”,即使这不是原始html。因此,我一直在想模板是如何生成“checked='checked'”的,而它从来没有生成过。Gracias。
"<input type='checkbox' #= isAdmin ? 'checked' : '' # />"