html - 如何使用绑定(bind)添加多个 CSS 类

标签 html css asp.net-mvc knockout.js

我有一个数据绑定(bind),我必须在其中应用两个 css 类

data-bind ="css: isHiddenStage"

isHiddenStage ==> 函数返回一个基于某些逻辑的 css 类, 这工作正常,我想根据某些条件应用另一个 css 类

css:{ my-class:$index() + 1 === 10 }

注意:这里我不能使用isHiddenStage函数来检查条件 所以最后我得到了这个:

    data-bind ="css: isHiddenStage, css:{ my-class:$index() + 1 === 10 }"

这不起作用可能是因为我不能在绑定(bind)中使用两次 css。 有没有其他选择。

问候

最佳答案

同一元素上不能有多个 css 绑定(bind)。创建一个函数,返回所有用空格分隔的 css 类,以便在单个 css 绑定(bind)中使用。

HTML

<div data-bind="css: getCssClassesForIndex($index)"></div>

查看模型

this.getCssClassesForIndex = function (index) {
    var cssClasses = this.isHiddenStage() || '';
    if ((index + 1) === 10) {
        cssClasses += ' my-class';
    }
    return cssClasses;
}.bind(this);

关于html - 如何使用绑定(bind)添加多个 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668224/

相关文章:

html - 如何在缩小屏幕尺寸时均匀地修剪图像的左右两侧? (@媒体查询)

jquery - 当 ul li 与 float :left; 一起使用时,iScroll 不会在 iPad 上向下滚动

jquery - css/jquery 冲突但无法找到它

c# - 如何在执行时获取自定义属性附加到的函数/操作名称?

asp.net-mvc - MOQ:不能将 Moq.Mock 转换为 VB.Net 中的接口(interface)

javascript - 使用指向不同质量版本的源更改视频质量

javascript - 如何使用 javascript(无 JQuery)动态更改 CSS 类的属性

html - 如何在表单上布局文本和输入以适应特定宽度(对齐)?

javascript - 防止窗口滚动到折叠下方,直到单击按钮

asp.net - 使用 Global.asax 设置/检查 session 变量和重定向(用于用户测试)