• 控制文本和外观------Style Binding(Style属性绑定)


    目的

    style绑定是添加或删除一个或多个DOM元素上的style值。比如当数字变成负数时高亮显示,或者根据数字显示对应宽度的Bar。(注:如果你不是应用style值而是应用CSS class的话,请参考CSS绑定。)

    <div data-bind="style: { color:'red', fontWeight:'bold' }">...</div> 

    <script>
      var viewModel = {
          t:ko.observable()
         }
     
      ko.applyBindings(viewModel);
    </script>

    即使绑定不用动态变化,也需要加入 ko.applyBindings(); 

    例子

    <div data-bind="style: { color: currentProfit() < 0 ? 'red' : 'black' }">
    Profit Information
    </div>


    <script type="text/javascript">
    var viewModel = {
    currentProfit: ko.observable(150000) // Positive value, so initially black
    };
    viewModel.currentProfit(-50); // Causes the DIV's contents to go red
    </script>

    当currentProfit 小于0的时候div的style.color是红色,大于的话是黑色。

     

    参数

    主参数

    该参数是一个JavaScript对象,属性是你的style的名称,值是该style需要应用的值。

    你可以一次设置多个style值。例如,如果你的view model有一个叫isServre的属性,

    <div data-bind="style: { color: currentProfit() < 0 ? 'red' : 'black', fontWeight: isSevere() ? 'bold' : '' }">...</div>

    如果参数是监控属性observable的,那随着值的变化将会自动添加或者删除该元素上的style值。如果不是,那style值将会只应用一次并且以后不在更新。

    你可以使用任何JavaScript表达式或函数作为参数。KO将用它的执行结果来决定是否应用或删除style值。

    其它参数

     

    注:应用的style的名字不是合法的JavaScript变量命名

    如果你需要应用font-weight或者text-decoration,你不能直接使用,而是要使用style对应的JavaScript名称。

    错误: { font-weight: someValue }; 正确: { fontWeight: someValue }

    错误: { text-decoration: someValue }; 正确: { textDecoration: someValue }

  • 相关阅读:
    scrapy的自动限速(AutoThrottle)扩展
    js可以控制文件上传的速度吗?
    用DataReader 分页与几种传统的分页方法的比较
    jdbc分页查询
    几种分页方式分析.
    mybatis下的分页,支持所有的数据库
    java 物理分页和逻辑分页
    IBatis的分页研究
    JDBC分页
    用Java实现异构数据库的高效通用分页查询功能
  • 原文地址:https://www.cnblogs.com/jinling/p/4738309.html
Copyright © 2020-2023  润新知