knockout.js – 你可以添加knockoutjs样式绑定指定属性值吗?

前端之家收集整理的这篇文章主要介绍了knockout.js – 你可以添加knockoutjs样式绑定指定属性值吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有关于样式绑定的问题.是否可以生成整个样式绑定文本?那么财产和价值部分在一起?
例如:
function viewmodel() {
    this.fontSize = ko.observable(12);

    this.fontSizeCSS = ko.computed(function() {
        return "font-size: " + " " + this.fontSize() + "px";
    },this);

}

// Activates knockout.js
ko.applyBindings(new viewmodel());

简单的方法是这样做:

<div data-bind="style: { fontSize: fontSize()  + 'px'}">
    <p>Lorem ipsum</p>
</div>

有可能这样做(我试过,它没有用):

<div data-bind="style: { fontSizeCSS() }">
    <p>Lorem ipsum</p>
</div>

如果有,怎么样?如果没有,为什么不呢?
可以对html样式元素进行文本绑定,但我想知道你是否可以做一些类似的,我提议的内容
谢谢!

解决方法

style binding的主要参数不是字符串,而是

You should pass a JavaScript object in which the property names correspond to style names,and the values correspond to the style values you wish to apply.

所以你的fontSizeCSS计算应该返回一个对象,而不是一个字符串,它将正常工作:

this.fontSizeCSS = ko.computed(function() {
        return {"fontSize": this.fontSize() + "px"};
},this);

演示JSFiddle.

猜你在找的JavaScript相关文章