2

我经常看到使用 ::after css 伪选择器实现的时尚 css 效果。例如:

.bs-docs-example::after { content: "Example"; position: absolute; ...

在这个 twitter-bootstrap 类content属性中定义 ::after 元素中的文本。有什么方法可以通过将它与 KnockoutJS 绑定来使其动态化?

4

1 回答 1

6

之前我不得不做几次类似的事情,我做的方式是绑定到一个style元素的文本,比如:

<style type='text/css' data-bind="text: exampleAfterStyle"></style>

具有计算的可观察值,例如:

var viewModel = {
    name: ko.observable("Bob"),
};

viewModel.exampleAfterStyle = ko.computed(function() {
    return '.example::after { content: "' + viewModel.name() + '"; }';
});

这是一个示例:http: //jsfiddle.net/rniemeyer/hfKPc/

于 2012-08-28T01:11:22.280 回答