首页 > Web开发 > 详细

html 绑定

时间:2015-08-17 21:20:02      阅读:280      评论:0      收藏:0      [点我收藏+]

  html 绑定


 

目的

html绑定到DOM元素上,使得该元素显示的HTML值为你绑定的参数。如果在你的view model里声明HTML标记并且render的话,那非常有用。

 

例子

<div data-bind="html: details"></div> 

<script type="text/javascript">
var viewModel = {
details: ko.observable() // Initially blank
};

viewModel.details("<em>For further details, view the report <a href=‘report.html‘>here</a>.</em>");
// HTML content appears
</script>

 

参数

    主参数

    KO设置该参数值到元素的innerHTML属性上,元素之前的内容将被覆盖。

    如果参数是监控属性observable的,那元素的内容将根据参数值的变化而更新,如果不是,那元素的内容将只设置一次并且以后不在更新。

    如果你传的是不是数字或者字符串(例如一个对象或者数组),那显示的文本将是yourParameter.toString()的等价内容。

    其它参数

        无

 

注:关于HTML encoding

因为该绑定设置元素的innerHTML,你应该注意不要使用不安全的HTML代码,因为有可能引起脚本注入攻击。如果你不确信是否安全(比如显示用户输入的内容),那你应该使用text绑定,因为这个绑定只是设置元素的text 值innerText和textContent。

 

依赖性

除KO核心类库外,无依赖。

这个绑定的功能与text binding相对应,不同点为:

  • 控制DOM元素的innerHtml属性
  • 不会对内容进行Html编码,你可以定义自己的html标签注入进去

 

 

<script src ="js/knockout.js"></script>
<script src = "js/jquery-1.10.2"></script>

 

<div data-bind="html: details"></div>
<div data-bind="text: details"></div>

 


<script type="text/javascript">
var viewModel = {
details: ko.observable()
// Initially blank
};
viewModel.details("<em>For further details, view the report <a href=‘report.html‘>here</a>.</em>");
window.setInterval(function()
{
viewModel.details("<p style=‘color:red‘>" + "now Time is " + new Date().getTime() + "</p>") ;
},1000);
// HTML content appears
ko.applyBindings(viewModel);
</script>

执行结果

now Time is 1439809372167

<p style=‘color:red‘>now Time is 1439809372167</p>

 

html 绑定

原文:http://www.cnblogs.com/jinling/p/4737440.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!