Аддон Ember-models-table генерирует ошибку ember warn при попытке использовать свойство routeName - PullRequest
0 голосов
/ 04 мая 2018

Я использую ember-models-table для отображения таблицы в моем приложении. Таблица отлично подходит для сортировки, разбивки на страницы и т. Д., Но я пытаюсь перенаправить из определенной строки на другую страницу на основе идентификатора. в своем примере он упомянул использование «routeName» Но когда я использую его, выдает следующую ошибку:

"Ошибка подтверждения: при вызове warn необходимо указать хэш options в качестве третьего параметра. options должен включать свойство id."

Моя кодировка .js:

columns:[   
        {
          "propertyName": "firstName",
          "title":"First Name",
          "routeName":"/#/profile/_id"
},

и т. Д.

Спасибо за вашу помощь.

update: ошибка исчезла после обновления ember до ember 3.1.2 но есть предупреждение и оно не работает должным образом, где я иду не так?

мой код:

columns:[   
        {
          "propertyName": "firstName",
          "title":"First Name",
          "routeName":"profile"
}, 

1 Ответ

0 голосов
/ 07 мая 2018

Если вы посмотрите пример приложения для этого дополнения, вы увидите следующий синтаксис для маршрута:

{
    propertyName: 'id',
    routeName: 'users.user'
},

Это примерно соответствует маршруту типа users/1. Итак, если это ваш роутер:

Router.map(function() {
  this.route('users', function() {
    this.route('user', { path: '/users/:user_id' });
  });
});

А вот и столбцы:

columns: [
        {
            "propertyName": "something",
            "routeName": "users.user"
        },
        {
            "propertyName": "id",
            "routeName": "users.user"
        }
    ]

Вот шаблон:

{{models-table 
data=model 
columns=columns
...
}}

routeName не должен включать сегмент id.

Наведите указатель мыши на тег привязки, чтобы увидеть, к чему он ведет, и внесите коррективы, пока он не совпадет с тем, куда он должен идти. Он будет отображаться только при наличии действительного маршрута для ссылки. Путь кажется относительным, поэтому, если вы уже находитесь на маршруте users, вам может потребоваться указать user для routeName.

Я понял это, выполнив поиск по базе кодов аддонов для routeName, а затем попробовал его в том же формате, который используется в Ember помощником {{link-to}}.

P.S. это некоторая недостающая информация в документации, поэтому, если это дополнение поможет вам, рассмотрите возможность сделать пиар, чтобы помочь другим.

...