2017-08-01 102 views
0

我正在開發一個需要使用Scheduler小部件的項目(Angular 4 + Kendo UI)。由於Angular 2+版本還沒有準備好,我不得不使用Kendo UI的jQuery版本。對於大多數情況,我可以通過,但現在我正在嘗試定製事件模板,並且我意識到Angular 4不接受模板中的標籤,因此如果我嘗試使用,則會出現錯誤:Kendo UI與Angular 4的jQuery模板

<script id="template" type="text/x-kendo-template"> 
 
      ... 
 
</script>

我的問題是:有沒有去使用具有角2+劍道UI jQuery的時候使用模板?

謝謝。

回答

0

我正在玩各種不同的選項,並設法使其工作。

事實證明,kendo.template(...)可以接受模板內容作爲字符串。所以,我不是直接使用script標籤,而是直接插入模板內容。

這裏有一個例子,對如何進行日程事件提示創建一個模板:

ngAfterViewInit(): void { 
 
     
 
     $("#scheduler").kendoTooltip({ 
 
      filter: ".k-event:not(.k-event-drag-hint) > div, .k-task", 
 
      position: "top", 
 
      width: 250, 
 
      content: kendo.template(`#var element = target.is(".k-task") ? target : target.parent();# 
 
      #var uid = element.attr("data-uid");# 
 
      #var scheduler = target.closest("[data-role=scheduler]").data("kendoScheduler");# 
 
      #var model = scheduler.occurrenceByUid(uid);# 
 

 
      #if(model) {# 
 
       #=model.description# 
 
      #} else {# 
 
       <strong>No event data is available</strong> 
 
      #}#`) 
 
     }); 
 
     
 
}

注意,你可以使用'包圍一個多線樣板字符串作爲你將用於組件模板。

可能不是最好的方法,但它是我能找到的唯一一個可行的方法。如果有人有更好的解決方案,請在此分享。

希望,節省的人他們的生活:)

多虧了幾個小時。