Javascript 如何将多个属性绑定到元素?
我在玩knockout,不知道如何将多个对象属性绑定到一个元素 这是我的模板,我尝试了Javascript 如何将多个属性绑定到元素?,javascript,knockout.js,Javascript,Knockout.js,我在玩knockout,不知道如何将多个对象属性绑定到一个元素 这是我的模板,我尝试了data bind=“text:name.first name.last”: 年龄: 公司: 在angular中,我会使用ng repeat并执行类似于{{name.first}{{{name.last}}的操作,但我不希望为此项目加载angular如下: 或者,如果这些项目是可观察的: 或者,如果你想在你的视野中保持事物的独立性: 或者,如果您希望尽可能地模拟角度: 或者,如果您希望单元
data bind=“text:name.first name.last”
:
年龄:
公司:
在angular中,我会使用ng repeat并执行类似于{{name.first}{{{name.last}}
的操作,但我不希望为此项目加载angular如下:
或者,如果这些项目是可观察的:
或者,如果你想在你的视野中保持事物的独立性:
或者,如果您希望尽可能地模拟角度:
或者,如果您希望单元测试/将其转换为业务逻辑,请执行以下操作:
作为脚注,KnockoutJS和AngularJS之间存在一些相关差异:
- 在Knockout中(没有插件)没有AngularJS括号样式(例如,
)的直接等价物{{name.first}}
- 在KnockoutJS中,可观察属性是函数(而Angular可以跟踪对普通JS属性的更改)。如果括号是唯一要绑定的对象,则只能(可选地)省略它。所以假设
是一个可观察的,这些工作:第一个
但这并不是:快捷方式。。。 相当于以前的。。。 ()现在需要。。。
!不行!
- 像这样:
或者,如果这些项目是可观察的:
或者,如果你想在你的视野中保持事物的独立性:
或者,如果您希望尽可能地模拟角度:
或者,如果您希望单元测试/将其转换为业务逻辑,请执行以下操作:
作为脚注,KnockoutJS和AngularJS之间存在一些相关差异:
- 在Knockout中(没有插件)没有AngularJS括号样式(例如,
)的直接等价物{{name.first}}
- 在KnockoutJS中,可观察属性是函数(而Angular可以跟踪对普通JS属性的更改)。如果括号是唯一要绑定的对象,则只能(可选地)省略它。所以假设
是一个可观察的,这些工作:第一个
但这并不是:快捷方式。。。 相当于以前的。。。 ()现在需要。。。
!不行!
,你都不喜欢,反正不是这样。您正在绑定一个值,因此必须将属性组合到单个值。可以是内联的,也可以是首选的,作为计算属性。Jeff说了什么,或者引入额外的html元素
function Name() {
var self = this;
self.first = ko.observable();
self.last = ko.observable();
self.fullname = ko.computed(function() {
return self.first() + " " + self.last();
});
}