Angular Kendo最新版本升级问题

时间:2017-09-26 07:42:11

标签: angularjs kendo-ui angular-kendo

自从过去3年以来,我们一直致力于一个项目。我们正在使用Angular 1.2.6和Kendo 2014 Version UI。现在,由于性能需求,我们希望迁移到Angular 1.6和Kendo 2017 Version UI。在这里,我们得到以下问题在升级时。

  1. 我们正在使用带ID的Kendo Controls如下。

    选择id =' ddlDDLID _ {{GUIDVaraible}}'剑术-下拉列表

  2. 所以我们使用的GUID表达式为kendo下拉列表。升级到最新版本后,我们没有从控制器替换GUIDVaraible。 它与表达式的字符串变量保持一致' ddlDDLID _ {{GUIDVaraible}}'

    1. Kendo下拉列表自动选择列表中的第1项至今,但升级到最新版本后,默认情况下不会自动选择第1项。
    2. 请帮助!!!

1 个答案:

答案 0 :(得分:1)

关于第一个问题,2015年第二季度,Kendo团队在小部件初始化中引入了一个重大变化,现在可以同步发生,而不像以前那样异步。更多细节可以在他们的文档中找到:

http://docs.telerik.com/kendo-ui/AngularJS/Troubleshooting/common-issues#angularjs-templates-are-not-evaluated-before-widget-initialization

简而言之,您需要避免使用包含“{{}}”Angular模板的HTML属性。解决方案是构建具有更高优先级的自定义指令,该指令将在初始化Kendo小部件之前评估模板。

关于第二个问题,在2015年第一季度更改了组件的选择行为,以更好地匹配HTML Select的工作方式。更多详细信息和可能的解决方法再次在Breaking Changes部分中正确记录:

http://docs.telerik.com/kendo-ui/backwards-compatibility/2015-backward-compatibility#changes-from-2014-q3-sp2-201431411

 <input id="dropdownlist" />
    <script>
        var widget = $("#dropdownlist").kendoDropDownList({
            dataSource: ["foo1", "foo2"]
        });

        widget.value(""); //this will clear selection

        if (widget.select() == -1) { //if value does not exist, select first one
            widget.select(0);
        }
    </script>

查看DropDownList部分了解详情。