Nano Hash - криптовалюты, майнинг, программирование

Проблема обновления последней версии Angular Kendo

Мы работаем над проектом последние 3 года. Мы используем Angular 1.2.6 и пользовательский интерфейс версии Kendo 2014. Теперь, когда требуется производительность, мы хотели перейти на Angular 1.6 и пользовательский интерфейс версии Kendo 2017. Здесь мы получаем следующие проблемы при обновлении.

  1. Мы используем элементы управления Kendo с идентификатором следующим образом.

    выберите id='ddlDDLID_{{GUIDVaraible}}' раскрывающийся список кендо

поэтому мы используем GUID с идентификатором выражения раскрывающегося списка кендо. После обновления до последней версии мы не получаем замену GUIDVaraible с контроллера. он остается таким же, как строковая переменная выражения 'ddlDDLID_{{GUIDVaraible}}'

  1. Выпадающий список кендо до сих пор автоматически выбирал 1-й элемент в списке, но после обновления до последней версии он не выбирает 1-й элемент автоматически по умолчанию.

Пожалуйста помоги !!!


Ответы:


1

Что касается первого вопроса, во втором квартале 2015 года команда Kendo внесла критическое изменение в инициализацию виджета, которая теперь происходит синхронно, в отличие от того, что раньше было асинхронно. Более подробную информацию можно найти в их документации:

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

Короче говоря, вам нужно будет воздержаться от использования атрибутов HTML, которые содержат шаблон Angular «{{ }}». Решение состоит в том, чтобы создать пользовательскую директиву с более высоким приоритетом, которая будет оценивать шаблон до инициализации виджета Кендо.

Что касается второго вопроса, поведение выбора компонента было изменено в первом квартале 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.

26.09.2017
  • Что касается второго ответа, его необходимо обрабатывать глобально на уровне приложения. так что любые идеи об обработке на уровне приложения. 26.09.2017
  • Боюсь, что доступный обходной путь работает только на уровне виджета. Единственное, что я могу придумать, чтобы заставить его работать на уровне приложения, - это изменить исходный код. Однако в этом случае вам потребуется поддерживать пользовательский код при каждом последующем обновлении. Если подумать, нельзя ли просто определить параметр index: 0 для тех раскрывающихся списков, которые не имеют значения. Для тех, у кого есть значение, убедитесь, что значение существует в источнике. Другое решение состоит в том, чтобы изменить источник. 26.09.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..