Rob*_*ert 8 data-binding html5 viewmodel knockout.js
我的页面上有一个viewModel,它包含数据,用于概述某些设备的当前状态.到目前为止,一切都很有效,除了一个问题:我需要根据viewModel中的另一个值设置div元素的title属性.
我知道你基本上可以像这样设置title属性(在div标签的data-bind属性中):
attr: { title: 'Some title' }
Run Code Online (Sandbox Code Playgroud)
使用上面的语句,当悬停div时,"Some title"被设置为工具提示.我也可以这样设置:
attr: { title: ConnectState.Value() }
Run Code Online (Sandbox Code Playgroud)
并输出当前viewModel数据的正确值(整数值),以便正确填充viewModel.
现在我需要将其更改为:
attr: {
title: {
'Text 1': ConnectState.Value() == 0,
'Text 2': ConnectState.Value() == 1,
'Text 3': ConnectState.Value() == 2,
'Text 4': ConnectState.Value() == 3
}
}
Run Code Online (Sandbox Code Playgroud)
上面的例子只会将"[object Object]"作为标题(resp.as tooltip).我该如何解决这个问题?非常感谢提前!
Pau*_*lor 10
在viewmodel中定义ko.computed.
self.ConnectTitle = ko.computed(function() {
return 'Text ' + (self.ConnectState.Value() + 1).toString();
});
Run Code Online (Sandbox Code Playgroud)
然后:-
attr: { title: ConnectTitle }
Run Code Online (Sandbox Code Playgroud)
作为你的约束力.如果你的文本只是一个简单的例子,你可以用适合你需要的东西替换计算函数的内容.