填充用户数据后,我想将他们的全名显示为列表元素。
数据绑定(bind)设置如下:
<ul id="availableOwners">
<!-- ko foreach: OwnersList-->
<li data-bind="text: FirstName, click: AddOwnerToUser.bind($data), value: Id" style="cursor: pointer"></li>
<!-- /ko -->
</ul>
我想用 javascript 函数显示全名:
<li data-bind="text: function() { return FirstName + ' ' + LastName }, click: AddOwnerToUser.bind($data), value: Id" style="cursor: pointer"></li>
但是,它显示函数定义列表字面意思如下:
function () { return FirstName + ' ' + LastName}
function () { return FirstName + ' ' + LastName}
function () { return FirstName + ' ' + LastName}
...
有谁知道在以这种方式绑定(bind)列表的情况下如何正确显示全名?
最佳答案
要将多个 observables
连接在一起,您需要使用 ()
来评估它们。
例如:
<li data-bind="text: FirstName() + ' ' + LastName(), click:AddOwnerToUser.bind($data), value: Id" style="cursor:pointer"></li>
但是,理想情况下,您应该使用 computed observable相反:
self.FullName = ko.computed(function () {
return self.Firstname() + ' ' + self.LastName();
}
<li data-bind="text: FullName, click:AddOwnerToUser.bind($data), value: Id" style="cursor:pointer"></li>
关于javascript - 如何连接文本绑定(bind)中使用的可观察值的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27912706/