2016-11-15 8 views
2

Okですので、いくつかの背景があります。我々は角度/剣道の環境にいる。ただし、Q2-2014の古いKendoUIを使用しています。どういう意味ですか?モジュール化された詳細を持つ方法 - 古いバージョンのKendoUIグリッドのテンプレート

  • それは私たちが剣道グリッドを含むテンプレートの詳細を使用したい場合は、我々は新しい角度指令K-詳細テンプレートを使用できないことを意味します。これを使用すると、このDojo http://dojo.telerik.com/oMEvI/6に表示されるように、剣道のテンプレートとして正しくレンダリングされません。ご覧のように、新しいライブラリを選択すると詳細テンプレートがサポートされますが、古いテンプレートはサポートされません。しかし、私たちは剣道図書館を今更新するための贅沢はありませんので、私たちが持っている古い図書館の代替案を見つけ出す必要があります。 http://dojo.telerik.com/otiqU

それが動作し、これまでのところ良い:

  • 今、私たちの仕事は、周りにそれをここに道場に見られるように、それは古典的なjQueryのに使用された方法を使用することです。しかし、それは本質的にモジュール化されておらず、少なくとも私の意見ではそれを行うための最もエレガントな方法ではないコントローラ内にHTMLテンプレートを含める必要があります。それは、不要なHTMLでごみ私のコントローラしないように別のHTMLビューから来る、代わりにインラインで割り当てられているの

    detailTemplate: "<b>This is where all the details go</b>", 
    

    :私の質問は、私は以下のテンプレートを持つことができますどのように?

  • 答えて

    2

    2つのことが考えられます。私はあなたのソリューションは、あなたが簡単な$(# '' を)行うことができ、同じファイル内の別のDIVをやっていると思い

    detailTemplate: kendo.template($("#myTemplate").html()), 
    

    それとも

    clientTemplateID="tmpGridViewItem", 
    
    
    <script type="text/x-kendo-tmpl" id="tmpGridViewItem"> 
        <div class="gridViewItem"> 
         <h3>#:ModelFieldValue#</h3> 
        </div> 
    </script> 
    

    それとも

    var templateContent = that._templates.divA; 
    var template = kendo.template(templateContent); 
    ... 
    
    _templates: { 
           divA: "<div style='position:absolute;'> <img src='#=data.imageUrl#' alt='Help' ></img></div>", 
           divB: "<div style='position:absolute; ><img class='k-button' src='#=data.imageUrl#' alt='Help' ></img></div>" 
          } 
    
    +0

    jQueryのコール。しかし、私ができるようにしたいのは、完全に異なるHTMLファイルからロードできることです。それは可能ですか? – TeaLeave

    +0

    私はそれができると確信しています。いったんDOMの内部にいれば、バインド方法の知識を持っていれば、最初は別のhtmlで定義されていたとしても、スコープ内のテンプレートを使用できるはずです。 –

    +0

    ありがとうございます。 html()$( "#myTemplate")html()は単なるdivです。神秘的な理由から、Angularはkendo.templateで動作しませんでした – TeaLeave

    関連する問題