データバインドでは、あらゆる種類の有効なjavascriptを使用できます。
var model = {
people : ko.observableArray([
{name: "Name1", age: 30},
{name: "Name2", age: 31},
{name: "Name3", age: 32},
])
}
ko.applyBindings(model);
は、我々が行うことができます:
<span data-bind='text: people().map(function(p){return p.name + "," + p.age}).join(", ")'> </span>
オプションこのようなモデルを想定しSee fiddle
-
オプション1:そうだと思うが、このような何かを行うことが可能です2-See fiddle
しかしcoplexインラインJavaScriptを埋め込むことをお勧めではないですが、私はこの
var model = {
people : ko.observableArray([
{name: "Name1", age: 30},
{name: "Name2", age: 31},
{name: "Name3", age: 32},
]),
}
model.allPeople = ko.computed(function() {
return model.people().map(function(p){return p.name + "," + p.age}).join(", ");
});
ko.applyBindings(model);
そして、HTMLのような計算されたプロパティを作成するためにお勧めします:あなたは、常に計算されているループを使用することができます
<span data-bind='text: allPeople'> </span>
をobservableArrayをオーバーライドし、文字列を一緒に連結します。しかし、一般的に言えば、配列を観察する計算を持つビジネスに着手すると、中規模から大規模のデータセットでパフォーマンスの問題が発生します。 なぜあなたはこれをやりたいのですか? HTMLテンプレートの唯一の場所は、人よりもforeach'ingですか? –