2016-03-15 5 views
0

Я продлил view.View изолировать лишь некоторые из событий, которые обстреляли из магазина (код находится в https://fiddle.sencha.com/#fiddle/1777)ExtJS-6 DataView Расширение Выпуск

Проблема, которую я имею что когда запись добавляется, он должен запускать пользовательское событие для контроллера, чтобы забрать; Однако, я получаю сообщение об ошибке в консоли

TypeError: owner.up is not a function

Я несколько нахожусь в тупике в этот момент, как я попытался отладки вопрос и единственное, что я могу придумать, что ошибка происходит при:

this.fireEventArgs('added',[...]); 

В globals.AltStdView класс. Может кто-нибудь, пожалуйста, посоветуйте мне, что я неправильно делаю? Благодаря!!

ответ

2

Во-первых, me.getView.dataView.store.add(record); неправ. getView должен быть методом.

Во-вторых, added уже является событием, используемым в этой базе для компонентов. Вы должны выбрать другое имя.

+0

Проблема с getview() была опечаткой с моей стороны - не знаю, почему исправленная скрипка не была опубликована; Большое спасибо вам и JChap за указание на «добавленное» событие. Теперь работала так, как ожидалось. – user1532602

1

Пара вопросов здесь,

  • Как уже упоминалось @Evan, me.getView является функцией. Так что это должен быть me.getView().
  • Вы запускаете «добавленное» событие, которое фактически является встроенным событием DataView, и из-за этого слушатели добавленного события бросают ошибки, поскольку события args разные. Таким образом, я переименовал событие в «recordadded»

После применения вышеуказанных исправлений, вот рабочая скрипка. https://fiddle.sencha.com/#fiddle/177v

+0

Проблема с getview() была опечаткой с моей стороны - не знаю, почему исправленная скрипка не была опубликована; Большое спасибо вам и Эвану за то, что он указал на «добавленное» событие. Теперь работала так, как ожидалось. – user1532602

Смежные вопросы