簡體   English   中英

Kendo UI網格,帶有尖角-大括號不綁定列模板中的值

[英]Kendo UI grid with angular - curly brackets not binding value in column template

我剛剛開始使用kendo-ui網格,並創建了我的列,並且所有數據都可以正常工作。 我嘗試將模板值添加到我的列定義中,並且kendo文檔說我應該能夠使用{{dataItem.something}}來訪問模板中的值。 這不起作用。 但是,做<span ng-bind='dataItem.something'></span>可以很好地工作。 為什么會這樣,如何使花括號綁定起作用? 謝謝。

這是我正在做的一小段偽代碼:

在我的HTML和控制器中(我省略了所有其他選項,如數據源等。):

 this.gridOptions = { columns: [ { field: 'valueOne', template: "<span ng-bind='dataItem.valueOne'></span>" // THIS WORKS }, { field: 'valueTwo', template: "{{dataItem.valueTwo}}" // THIS DOES NOT WORKS } ] }; 
 <div ng-controller="gridController as vm"> <div kendo-grid k-options="vm.gridOptions"></div> </div> 

我正在嘗試的是kendo文檔和演示中的內容:
http://docs.telerik.com/kendo-ui/AngularJS/the-grid-widget#template‌s
http://dojo.telerik.com/ikEKIr

TL; DR; 通過刪除kendo-angular.js,綁定將按預期工作。 kendo-angular.js庫仍包含在我們的版本中,並且與kendo.all.js發生沖突

更多:kendo-angular.js庫已棄用,支持移至kendo professional。 角度功能已移至kendo.all.js。 這些文檔非常具體,關於按特定順序包含庫。 包含順序必須是JQuery,Angular,然后是Kendo。 我檢查了一下,並確保嘗試所有腳本的最新版本,還嘗試使用演示中使用的特定版本。 但是,在進一步深入研究腳本后,事實證明,我們的構建腳本仍在列表的最下方包含kendo-angular.js。 刪除此問題解決了我的問題。

初始化應用后,您將無法使用角度模板,當您插入新的HTML角度時,角度模板將忽略它。

Kendo有自己的模板標簽:

有三種使用哈希語法的方法:

  • 將值呈現為HTML: #= #
  • 使用HTML編碼顯示值: #: #
  • 執行任意JavaScript代碼: # if (true) { # ... non-script content here ... # } #.

您也可以將函數用作模板:

template:   
    function (e) {
                if (e.type !== 1)
                    return "";
                return '<input type="checkbox"' + (e.canExecute ? 'checked="checked"' : '') + 'disabled="disabled" />';
            }

您還可以查看文檔以獲取更多信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM