これは単純なものである必要があります。ビューモデルに「To」というobservableArrayオブジェクトがあり、EmailAddress要素が含まれています。各要素には、DisplayNameとAddressの2つのプロパティがあります。
配列内の各要素を、セミコロンで区切られた単一の入力フィールドに出力したいと思います。私が今得ているのは:
「[オブジェクトオブジェクト]、[オブジェクトオブジェクト]」
代わりに属性をバインドして印刷するにはどうすればよいですか?「value:to.DisplayName」を追加するなど、さまざまな解決策を試しましたが、役に立ちませんでした。
<!-- illustration only, this is what the items in the TO array look like
I want to print the value of DisplayName for each element -->
var EmailAddress = function(dName, addr) {
self = this;
self.DisplayName = dName;
self.Address = addr;
};
<!-- viewmodel -->
var EmailModel = function (email) {
var self = this;
self.id = ko.observable();
self.subject = ko.observable();
self.body = ko.observable();
self.from = ko.observable();
self.to = ko.observableArray(); <-- display the DisplayName property of these elements)
self.cc = ko.isObservable();
self.bcc = ko.observable();
};
<!-- print the contents of the TO array -->
<input data-bind="value: to" type="text" />