Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 剑道UI+;角度-v2014.2.903与v2014.3.1119 JSFIDLE问题_Angularjs_Kendo Ui_Jsfiddle - Fatal编程技术网

Angularjs 剑道UI+;角度-v2014.2.903与v2014.3.1119 JSFIDLE问题

Angularjs 剑道UI+;角度-v2014.2.903与v2014.3.1119 JSFIDLE问题,angularjs,kendo-ui,jsfiddle,Angularjs,Kendo Ui,Jsfiddle,我正在将我的Angular/Kendo UI项目之一从v2014.2.903升级到v2014.3.1119。我遇到过一些实例,其中v2014.3.1119破坏了在v2014.2.903中运行良好的功能。我决定创建几个JSFiddle来说明这些问题,但不幸的是,指向v2014.2.903的JSFiddle似乎甚至无法识别剑道UI v2014.3.1119 JSFIDLE(本工程) v2014.2.903 JSFIDLE(这不起作用) 除了它们所引用的剑道UI版本之外,它们都包含相同的代码和配置。代

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

v2014.3.1119 JSFIDLE(本工程)

v2014.2.903 JSFIDLE(这不起作用)

除了它们所引用的剑道UI版本之外,它们都包含相同的代码和配置。代码如下:

HTML:


有人知道为什么v2014.2.903 JSFIDLE不能工作吗?

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

<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>
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"
        };
    }     
}