当我在我的@Component
的template
属性中使用routerLink
指令时,它可以工作。routerLink在Angular 2中的组件模板之外,基于html
但我们正在谈论我的整个网站的顶部菜单栏。但是,当我将它分离出来到我的主要模板文件(layout.html)中时,它不再起作用。
呀我是一个巨大的小白到NG2,无可否认,但我想我的菜单中留出一个JavaScript文件和主要布局HTML中。怎么能做到这一点?
<body>
<base href="/" />
<div class="row menu">
<div class="container">
<ul class="u-pull-left">
<li><a [routerLink]="['/']" routerLinkActive="active">Home</a></li>
<li>Notifications</li>
<li>My Hisses</li>
</ul>
<ul class="u-pull-right">
<li><a [routerLink]="['/register']" routerLinkActive="">Register</a></li>
<li><a [routerLink]="['/login']" routerLinkActive="active">Login</a></li>
</ul>
</div>
</div>
<root></root>
<!-- End Document
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
</body>
我错过了哪一个关键步骤?它甚至有可能吗?
谢谢!
嗨,感谢您的回复。所以如果我对把我的整个顶级菜单作为另一个ng2组件的一部分不感兴趣,我应该让它成为静态的,并让它刷新页面?我只是想在这里想办法与 – RedactedProfile
一起前进,我认为这是不值得的麻烦。如果我需要这样的设置,我会重新考虑使用Angular2。在我看来,刷新页面也是一个相当糟糕的选择。如果使用JS的[历史API](https://developer.mozilla.org/en-US/docs/Web/API/History_API)让Angular2应用程序中的路由器更新视图,您可以尝试。也许像http://stackoverflow.com/questions/39686305/changing-shared-data-between-root-modules(或http://stackoverflow.com/questions/36566698/cant-initialize-dynamically-appended-html- component-in-angular-2 - 不是最新的)可能适合你。 –
所以你在这里告诉我的是,如果我想要使用ng2,我必须将我的整个页面结构放到一个巨大的海量组件的模板字段中,并且通过router-outlet可以吐出子组件,否则没有意义使用它?我从来没有在我的生活中看到顶级菜单栏“加载”其余的JS:p我只想在菜单栏下方和页脚上方显示动态内容。看起来像是一个非常奇怪的限制考虑ng1让你切换ngRouter页面使用指令,任何你想要他们。 – RedactedProfile