模板是一组可以重复使用的DOM元素.模板化使得构建复杂应用程序变得容易,因为它具有最小化DOM元素重复的特性.
有两种创建模板的方法.
原生模板 : 此方法支持控制流绑定,例如foreach,with和if.这些绑定捕获元素中存在的HTML标记,并将其用作随机项的模板.此模板不需要外部库.
基于字符串的模板 : KO连接到第三方引擎以将ViewModel值传递到其中,并将生成的标记注入到文档中.例如,JQuery.tmpl和Underscore Engine.
语法
template:
请注意 type 在脚本块中以 text/html 的形式提供,以通知KO,它不是一个可执行的块,而只是一个需要渲染的模板块.
参数
组合以下属性可以作为参数值发送到模板.
name : 这代表模板的名称.
节点 : 这表示要用作模板的DOM节点数组.如果传递了name参数,则忽略此参数.
数据 : 这只是通过模板显示的数据.
if : 如果给定条件产生真实或真实值,则将提供模板.
foreach : 以foreach格式提供模板.
as : 这只是在foreach元素中创建一个别名.
afterAdd,afterRender,beforeRemove : 这些都是为了表示可执行的可调用函数,具体取决于执行的操作.
观察
渲染命名模板
模板在与控制流绑定一起使用时,由DOM内的HTML标记隐式定义.但是,如果您愿意,可以将模板分解为单独的元素,然后按名称引用它们.
示例
KnockoutJS Templating - Named Template Friends List
Here are the Friends from your contact page: