Допустим, я использую в проекте vuex, vue-i18n и Syncfusion ej2-vue-grids.
Мое приложение будет иметь доступ к $ store и $ t, но если я сделаю сеткуи определить пользовательский шаблон для столбца, компонент, который отображается в этом поле, не имеет доступа к vuex или vue-i18n.
Мне удалось обойти это для vuex, установив Vue.prototype.$store = store;
при первой настройке приложения Vue.У vue-i18n есть несколько дополнительных свойств, и установка всего на прототип выглядит как хак.
Я предполагаю, что Syncfusion должен вызывать Vue.extend
при создании компонентов для столбца сетки, поэтому компонент теряетвесь контекст из приложения.Это ошибка на их стороне, или есть что-то, что я должен делать по-другому?
EDIT Вот plnkr с примером поведения, которое явидя.
https://plnkr.co/edit/XwVC6yNQaI2vQIUoWfSm?p=preview
При первом просмотре столбец «Груз» должен быть пустым (потому что он не может получить доступ к магазину), а под сеткой должна быть строка !!!!!!!!(потому что он может получить доступ к магазину).
Если вы раскомментируете строку 15 в index.js
, обе строки будут !!!!!!ниже сетки и содержимое столбца «Груз» должно быть видно.