Угловая интерполяция не работает должным образом?

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

sample: click me

фрагмент кода:

Здесь я добавил событие (open) = "onOpen ()"

<ejs-dropdownlist 
    (open) = "onOpen()"
    required id = "ddlApp" name = "ddlApp" [dataSource]='appDataSource' [allowFiltering]='true' 
    [itemTemplate] = "itemTemplate" [valueTemplate] = "valueTemplate" [(ngModel)] = "dropdownlApp" 
    #ddlApp = "ngModel" [placeholder]='ddlAppText' [fields]='fields'>

sample 2: click me

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

Фрагмент кода:

<ejs-dropdownlist 
   required id = "ddlApp" name = "ddlApp" 
   [dataSource]='appDataSource' [allowFiltering]='true' 
   [itemTemplate] = "itemTemplate" [valueTemplate] = "valueTemplate" 
   [(ngModel)] = "dropdownlApp" #ddlApp = "ngModel" 
   [placeholder]='ddlAppText' [fields]='fields'>
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
670
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Просто удалите changeDetection: ChangeDetectionStrategy.OnPush из декоратора @Component, ваш второй образец будет работать

Декоратор компонентов должен читаться как

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
}) 

Свяжите вам массив объектов в ngOnInit(), это правильный способ привязки и подходящее время для привязки значений - Спасибо, удачного кодирования !!

Спасибо за ответ, но моя проблема в том, что когда я использую changeDetection, интерполяция не работает

Kumaresan Sd 08.11.2018 09:40

В соответствии с вашим кодом changeDetection: ChangeDetectionStrategy.OnPush будет проверять только один раз при создании экземпляра компонента, поэтому это вызывает проблему, и ваша модель не обновляется после создания экземпляра компонента, если вы хотите changeDetection, затем используйте changeDetection: ChangeDetectionStrategy.Default, это будет проверять всегда, когда есть изменение в ваших свойствах

Rahul 08.11.2018 09:59

Если мы удалим ChangeDetectionStrategy.OnPush из компонента, этот компонент будет проверяться на любые изменения в любом компоненте приложения. Если мы работаем над производительным приложением, мы должны оставить OnPush. Добавление события (open) = "0" должно быть достаточным для обновления шаблона при открытии раскрывающегося списка. Angular автоматически установит DropDownListComponent для проверки, так что шаблон, прикрепленный к его представлению, также будет проверяться.

yurzui 09.11.2018 05:29

@yurzui, у меня такой же вопрос. почему мне нужно изменить onpush на значение по умолчанию. если я использую по умолчанию, это вызовет обнаружение изменений, если произойдут какие-либо изменения, но если мы используем onpush, это вызовет обнаружение изменений при изменении значения

Kumaresan Sd 09.11.2018 06:06
ChangeDetectionStrategy.OnPush - единственное, что заставило ваше изменение не работать в примере 2, поэтому я только что предложил удалить его для этого сценария - архитектура приложения основана на ваших потребностях - проблема заключалась в добавлении ChangeDetectionStrategy, если вы хотите то же самое. стратегию вы можете использовать тот же образец
Rahul 09.11.2018 07:13

Другие вопросы по теме