У меня есть два компонента, которые взаимодействуют друг с другом (привязка). Они внутри в одном контейнере и привязка работают нормально, но когда я хочу повторно использовать компонент предварительного просмотра электронной почты в другом контейнере, привязка не работает. Мой код:
Ext.define('Admin.view.mailings.MailingsEmailWizard', {
extend: 'Ext.panel.Panel',
xtype: 'wizardemailmailing',
requires: ['Admin.view.mailings.MailingsEmailWizardModel'],
bodyPadding: 15,
height: '100%',
layout: 'card',
controller: 'wizardemailmailing',
viewModel: {
type: 'wizardemailmailing'
},
defaults : {
/*
* Seek out the first enabled, focusable, empty textfield when the form is focused
*/
defaultFocus: 'textfield:not([value]):focusable:not([disabled])',
defaultButton : 'nextbutton'
},
items: [
{
xtype: 'container',
itemId: 'mailingEmailContainer',
layout: {
type: 'hbox',
align: 'stretch'
},
viewModel: {
type: 'wizardemailmailing'
},
width: '40%',
defaults: {
cls: 'mailing-email-container',
margin: '0 20 20 0'
},
items: [
{
xtype: 'edit-email'
},
{
xtype: 'preview-email'
}
]
},
{
xtype: 'import-contacts'
},
{
xtype: 'preview-email'
}
],
Пожалуйста, помогите мне кто-нибудь. Мой вид выглядит как карточка и имеет 3 шага.
@NarendraJadhav Спасибо, это работает, но когда я меняю viewModel из контроллера с помощью this.getViewModel (). Set ('logo', urls [0]), данные в компоненте не меняются
Попробуйте отладить код внутри контроллера, возможно, значение не приходит. что-то упустил
@NarendraJadhav Я отлаживаю свою модель просмотра кода, у нее новое значение внутри, но в компоненте он не меняется
ок Можете ли вы создать рабочий рабочий пример? поэтому я постараюсь проверить проблему
@NarendraJadhav Да, я могу. Но это слишком много кода, может я прикреплю код для контроллера и компонента?
Хорошо, сделай это Прилагаю код для контроллера и компонента
@NarendraJadhav Я обнаружил проблему. Все работает нормально, спасибо за помощь. Я забыл добавить свойство привязки в данные компонента (
Попробуйте удалить внутри
viewModel
с помощьюmailingEmailContainer
и проверьте, работает он или нет.