AngularJS компонент не рендеринг - PullRequest
0 голосов
/ 24 апреля 2019

Я использую AngularJS 1.5.11.

Не получается правильно подключить компонент. Если я жестко закодирую свойство шаблона, оно работает:

$stateProvider.state("dashboard.expense", {
  url: "/expense",
  template: `<div>Geddy Lee</div>`
})

^^ Это действительно показывает Geddy Lee на странице.

Но как только я указываю на компонент, рендеринг не происходит:

$stateProvider.state("dashboard.expense", {
  url: "/expense",
  component: "expenseReportsComponent"
})

Я оставляю компонент простым, чтобы посмотреть, смогу ли я заставить его визуализироваться:

module.component('expenseReportsComponent', {
  template: `<div>Geddy Lee</div>`
});

^^ Geddy Lee не отображается.

Нет ошибок консоли. Я пробовал множество изменений, но, похоже, ничего не работает. Чего мне не хватает?

Ответы [ 3 ]

2 голосов
/ 24 апреля 2019

Вы, скорее всего, будете использовать старую версию ui-router.Либо перейдите на новый, либо используйте:

template: `<expense-reports-component></expense-reports-component>`

, в этом случае у вас не будет всех функций, таких как uiOnParamsChanged, но это, конечно, будет работать.

1 голос
/ 24 апреля 2019

Дважды проверьте, какую версию ui-router вы используете. Я считаю, что свойство компонента было добавлено в 1.0.0.

https://github.com/angular-ui/ui-router/blob/master/CHANGELOG.md

0 голосов
/ 24 апреля 2019

Объедините все это вместе и используйте шаблон и компонент в объявлении состояния:

$stateProvider.state("dashboard.expense", {
  url: "/expense",
  template: `<div>Geddy Lee</div>`,
  component: "expenseReportsComponent"
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...