AngularJS组件未渲染

时间:2019-04-24 17:43:56

标签: angularjs

我正在使用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 个答案:

答案 0 :(得分:2)

您极有可能使用旧版本的ui-router。迁移到较新版本或使用:

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

在这种情况下,您不会拥有uiOnParamsChanged之类的所有功能,但这当然可以工作。

答案 1 :(得分:1)

仔细检查以查看您使用的ui路由器版本。我相信组件属性是在1.0.0中添加的。

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

答案 2 :(得分:0)

将它们组合在一起,并在状态声明中使用模板和组件:

pkg_resources.get_distribution