剑道 UI + 角度 - v2014.2.903 vs v2014.3.1119 JSFiddle 问题



我正在努力将我的一个 Angular/Kendo UI 项目从 v2014.2.903 升级到 v2014.3.1119。 我遇到过一些 v2014.3.1119 破坏在 v2014.2.903 中运行良好的功能的情况。我决定创建几个JSFiddle来说明这些问题,但不幸的是,指向v2014.2.903的JSFiddle似乎甚至无法识别Kendo UI。

v2014.3.1119 JSFiddle (这有效( ...http://jsfiddle.net/lejuan5150/w0711rdg/

v2014.2.903 JSFiddle (这不起作用( ...http://jsfiddle.net/lejuan5150/4svqnaz6/

除了它们引用的 Kendo UI 版本之外,两者都包含相同的代码和配置。 这是代码:

.HTML:

<div>
<div data-ng-controller="personController">    
    <div 
        kendo-grid="personGrid" 
        k-options="personGridOptions" 
        k-ng-delay="personGridOptions">    
    </div>
    <br />
    First Name Combo Box:
    <select 
        kendo-combo-box="firstNameComboBox"
        k-options="firstNameComboBoxOptions"
        k-ng-delay="firstNameComboBoxOptions" 
        k-ng-model="selectedPerson.firstName"        
    ></select>        
    <br />
    Last Name Combo Box:        
    <select             
        kendo-drop-down-list="lastNameDropDownList"
        k-options="lastNameDropDownListOptions"
        k-ng-delay="lastNameDropDownListOptions" 
        k-ng-model="selectedPerson.lastName" 
    ></select>        
</div>

JavaScript:

var app = angular
.module("app", [ 
    "kendo.directives"
]);
app.controller("personController", [
    "$scope",
    personController
]);
function personController(
    $scope
){
    init();
    function init(){
        var personData = [{
            firstName: "Joe",
            lastName: "Smith",
            status: "Active"
        },{
            firstName: "John",
            lastName: "Smith",
            status: "Active"
        },{
            firstName: "Travis",
            lastName: "Smith",
            status: "Expired"
        }];
        $scope.personDataSource = new kendo.data.DataSource({
            data: personData
        });          
        $scope.firstNamesData = [{
           id: "Joe",
           firstName: "Joe"
        },{
            id: "George",
            firstName: "George"
        },{
            id: "John",
            firstName: "John"
        },{
            id: "Travis",
            firstName: "Travis"
        }];   
        $scope.lastNamesData = [{
            id: "Jones",
            lastName: "Jones"
        },{
            id: "Smith",
            lastName: "Smith"
        }];         
        bindPersonGrid();
        bindFirstNameComboBox();  
        bindLastNameDropDownList();  
    }
    function bindPersonGrid(){
        $scope.personGridOptions = {
            dataSource: $scope.personDataSource,
            selectable: "row",
            dataBound: onPersonGridDataBound,
            change: onPersonGridRowSelected            
        }        
    }
    function onPersonGridDataBound(){
        var grid = this;
        var firstRow = grid.element.find("tbody tr:first");
        grid.select(firstRow);
    }
    function onPersonGridRowSelected(
         event
    ){
        var grid = event.sender;
        $scope.selectedPerson = grid.dataItem(grid.select());       
        $scope.$digest();
    }
    function bindFirstNameComboBox(){
        $scope.firstNameComboBoxOptions = {
            dataSource: $scope.firstNamesData,
            dataTextField: "firstName",
            dataValueField: "id"
        };
    }    
    function bindLastNameDropDownList(){
        $scope.lastNameDropDownListOptions = {
            dataSource: $scope.lastNamesData,
            dataTextField: "lastName",
            dataValueField: "id"
        };
    }     
}

有谁知道为什么 v2014.2.903 JSFiddle 不起作用?

我发现了这个问题。Kendo v2014.2.903 在使用 JavaScript 对象的硬编码数组时不喜欢 k-ng-delay。

最新更新