将一个类从viewModel绑定到一个div,并在knockout中使用现有的硬编码类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个类从viewModel绑定到一个div,并在knockout中使用现有的硬编码类相关的知识,希望对你有一定的参考价值。
假设我有一个foreach创建一个div,其中一个类必须是硬编码的(其他元素的位置和高度由这些div设置并由类调用,因此只有在绑定时才能计算它发生)。
我需要从viewModel添加一个绑定类到该类,但我无法在网络上的任何地方找到如何执行此操作。
例:
<div class="message_image" data-bind="attr: {class : $data.float_class}" >
<img data-bind='attr:{src: $data.img_url}' />
</div>
我知道这是错的,这是我想要达到的一个例子....
"message_image"
类必须硬编码到html文件中。
此div具有在敲除绑定之前使用的属性。我需要添加$data.float_class
中的类。
答案
您需要使用css binding
,其中:
如果要使用动态CSS类名,则可以传递与要添加到元素的CSS类或类对应的字符串。
ko.applyBindings({
test: [{
float_class: "float1"
}, {
float_class: "float2"
}]
})
.message_image {
background: yellow;
}
.float1 {
color: red;
}
.float2 {
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.2.0/knockout-min.js"></script>
<div data-bind="foreach: test">
<div class="message_image" data-bind="css: $data.float_class">Test</div>
</div>
以上是关于将一个类从viewModel绑定到一个div,并在knockout中使用现有的硬编码类的主要内容,如果未能解决你的问题,请参考以下文章
将 WPF xaml 绑定到 ViewModel 而不构造它
如何使用WPF从bindingexpression解析绑定对象?
准备好 Dialog ViewModel 绑定,调用 Dialog 并在 MVVM 中从它返回数据