次のようなことは可能ですか:
<span data-bind="attr: { id: 'nav-' + id }"></span>
HTML のいくつかの場所で「id」を使用しているため、プレフィックスを付ける必要がありますが、これにより「予期しない文字列」エラーがスローされます。このようなことを行う方法はありますか、またはビューモデルにプレフィックスを適用する必要がありますか?
次のようなことは可能ですか:
<span data-bind="attr: { id: 'nav-' + id }"></span>
HTML のいくつかの場所で「id」を使用しているため、プレフィックスを付ける必要がありますが、これにより「予期しない文字列」エラーがスローされます。このようなことを行う方法はありますか、またはビューモデルにプレフィックスを適用する必要がありますか?
データ バインド定義内で文字列を連結することはできません。ビューモデルで関数を使用するなどして、ビューモデルに適用する必要があります。
var prefix = "nav-";
var viewModel = kendo.observable({
id: "postfix",
getId: function() {
return prefix + this.get("id");
}
});
次に、次のように使用します。
<span data-bind="attr: { id: getId }"> using method in the view model </span>
または、次のようにカスタム バインディングを登録します。
var prefix = "nav-";
kendo.data.binders.customId = kendo.data.Binder.extend({
refresh: function () {
var value = this.bindings["customId"].get();
value = prefix + value;
$(this.element).attr("id", value);
}
});
次に、次のように使用します。
<span data-bind="customId: id">using custom binding</span>