0

変更が必要なテキスト データを Web ページに表示することがよくあります。

現在、私はカスタム mouseEvent ハンドラーを作成しdivて、observable-boundspanがマウスオーバーされた状態で「編集」ボタンをポップ表示します。ユーザーがクリックすると、spanvia visibleknockoutJS バインディングが非表示になり、テキストinputが表示されて編集できるようになります。タブで、編集の変更を保存し、更新されたものspanを再度表示します。

このすべての機能を含むカスタム オープンソース KOJS バインディングはありますか。タスクは非常に一般的であり、KO はそれをエレガントに実装するための優れた基盤を持っているように見えるので、私はそれを書くように求めているわけではありません。

4

2 に答える 2

0

文字列をテンプレート エンジンのソースとして使用する方法について質問がありますか? もしそうなら、私は私のバインディングの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 };
        }
于 2012-08-29T07:08:46.110 に答える
0

実はこんなものもあり、見た目もカッコイイです。

https://github.com/brianchance/knockout-x-editable

ここで動作を確認してください: http://vitalets.github.io/x-editable/demo-bs3.html

お役に立てれば幸いです:)

于 2014-06-13T20:25:48.103 に答える