文字列をテンプレート エンジンのソースとして使用する方法について質問がありますか? もしそうなら、私は私のバインディングの1つに対してそれをしました
https://github.com/AndersMalmgren/Knockout.Bindings/blob/master/src/knockout.bindings.js
私のレポからの関連コード
var stringTemplateSource = function (template) {
this.template = template;
};
stringTemplateSource.prototype.text = function () {
return this.template;
};
var stringTemplateEngine = new ko.nativeTemplateEngine();
stringTemplateEngine.makeTemplateSource = function (template) {
return new stringTemplateSource(template);
};
そして、それを使用するには
ko.bindingHandlers.myCustomBinding = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
ko.renderTemplate('<span data-bind="text: $data"></span>', bindingContext.createChildContext(valueAccessor()), { templateEngine: stringTemplateEngine }, element, "replaceChildren");
return { controlsDescendantBindings: true };
}