【问题标题】:Knockout js CSS binding淘汰赛js CSS绑定
【发布时间】:2017-05-19 13:41:15
【问题描述】:

我在我的项目中使用 Knockout js,我需要将多个 css 类名称添加到特定标签。下面是我的代码,我有三个不同的类,我如何将它添加到 knockout css 绑定中,请建议。

<img data-bind="attr: { src:ProfileImageSrcName }" class="tabUser profile-Image tabpic" />

【问题讨论】:

标签: css knockout.js knockout-2.0


【解决方案1】:

你可以像下面这样绑定css

var vm = {
  profileImageSrcName: ko.observable('http://cumbriaskills.wdfiles.com/local--files/files:images/metro_128_chrome.png'),
  isProfilePic: ko.observable(true),
  isTab: ko.observable(true),
  toggleProfile: function() { vm.isProfilePic(!vm.isProfilePic()); },
  toggleTab: function() { vm.isTab(!vm.isTab()); }
};

ko.applyBindings(vm);
.tabUser { width: 100px; height: 100px; object-fit: contain; }
.profile-image { border-radius: 100% } 
.tabPic { box-shadow: 0 2px 6px rgba(0,0,0,0.4) }
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<img data-bind="attr: { src: profileImageSrcName }, 
                css: { 
                  'profile-image': isProfilePic, /* single class */
                  'tabUser tabPic': isTab  /* multiple classes */
                }" />
<br><br>
<button data-bind="click: toggleProfile">Toggle "profile-image" Class</button><br>
<button data-bind="click: toggleTab">Toggle "tabUser" and "tabPic" Classes</button>

【讨论】:

    【解决方案2】:

    使用css绑定来分配多个类名。

    http://knockoutjs.com/documentation/css-binding.html

    var masterVM = (function () {
      var self = this;      
      self.classNames = ko.pureComputed(function(){
        return "className1 className2 className3";
      }, self);
    })();
    
    ko.applyBindings(masterVM); 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
    
    <div class="existingClass" data-bind="css: classNames">
      Inspect this element to see list of the 4 class names.
    </div>

    【讨论】:

      猜你喜欢
      • 2013-08-14
      • 1970-01-01
      • 2021-04-28
      • 2014-03-30
      • 1970-01-01
      • 2013-01-09
      • 1970-01-01
      • 2014-10-30
      • 2013-02-04
      相关资源
      最近更新 更多