标签:
html 绑定
目的
html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数。如果在你的view model里声明HTML标记并且render的话,那非常有用。
例子
var viewModel = {
details: ko.observable() // Initially blank
};
viewModel.details("For further details, view the report here.");
// HTML content appears
参数
主参数
KO设置该参数值到元素的innerHTML属性上,元素之前的内容将被覆盖。
如果参数是监控属性observable的,那元素的内容将根据参数值的变化而更新,如果不是,那元素的内容将只设置一次并且以后不在更新。
如果你传的是不是数字或者字符串(例如一个对象或者数组),那显示的文本将是yourParameter.toString()的等价内容。
其它参数
无
注:关于HTML encoding
因为该绑定设置元素的innerHTML,你应该注意不要使用不安全的HTML代码,因为有可能引起脚本注入攻击。如果你不确信是否安全(比如显示用户输入的内容),那你应该使用text绑定,因为这个绑定只是设置元素的text 值innerText和textContent。
依赖性
除KO核心类库外,无依赖。
这个绑定的功能与text binding相对应,不同点为:
控制DOM元素的innerHtml属性
不会对内容进行Html编码,你可以定义自己的html标签注入进去
var viewModel = {
details: ko.observable()
// Initially blank
};
viewModel.details("For further details, view the report here.");
window.setInterval(function()
{
viewModel.details("
" + "now Time is " + new Date().getTime() + "
") ;},1000);
// HTML content appears
ko.applyBindings(viewModel);
执行结果
now Time is 1439809372167
now Time is 1439809372167
标签: