是的,还有其他类似的问题,但我的场景是不同的,因为我的应用程序的结构...
我决定在所有涉及的文件中放置路由器声明,以确保不会缺少声明的指令。
嗯,我的app结构是这样的:
app.component:它调用了一个html格式的主模板,我的路由器出口就在这个模板中。navbar.component-是放置路由器链接的位置,并导致错误
import {Component} from 'angular2/core';
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
import {RouterOutlet} from 'angular2/router';
import {RouterLink} from 'angular2/router';
import {NavBarComponent} from './components/navBar/navbar.component';
import {RoomsComponent} from './components/rooms/rooms.component';
@Component({
selector: 'my-app',
directives : [NavBarComponent,RoomsComponent,ROUTER_DIRECTIVES],
templateUrl : 'app/templates/master.html'
})
@RouteConfig([
{path:'/rooms', name: 'Rooms', component: RoomsComponent, useAsDefault: true}
])
export class AppComponent { }
import {Component} from 'angular2/core';
import {RouterLink} from 'angular2/router';
import {RouterOutlet} from 'angular2/router';
@Component({
selector: 'nav-bar',
template : `<ul>
<li *ngFor="#item of menuItems; #i=index"><a
[ngClass]="{active: activeIndex ==i}" (click)= "navigateTo(i)"
[routerLink]="['Rooms']"> {{item.label}}</a></li>
<div class="exit"><i class="material-icons md-48">exit_to_app</i> </div>
</ul>
`,
})
export class NavBarComponent {
menuItems = [
{
label : 'Rooms',
pointsTo : 'Rooms'
},
{
label : 'Bookings',
pointsTo : 'Bookings'
},
{
label : 'Favourites',
pointsTo : 'Favourites'
}
];
activeIndex = 0;
constructor() {
this.navigateTo = function(ndx){
this.activeIndex = ndx;
}
}
}
import {Component} from 'angular2/core';
import {Router, RouteParams} from 'angular2/router';
import {RouterOutlet} from 'angular2/router';
import {RouterLink} from 'angular2/router';
@Component({
selector : 'rooms',
template : `
<h1>I'm the room !</h1>`,
})
export class RoomsComponent {
}
<div class="appContainer">
<div class="appTop">
<div class="logo">
<logo></logo>
</div>
<div class="navBar">
<nav-bar></nav-bar>
</div>
<div class="mobileMenu">
mobile menu
</div>
</div>
<div class="appContent">
<div class="searchArea">
Search
</div>
<div class="subjectArea">
<router-outlet></router-outlet>
</div>
</div>
</div>
main.ts-代码:
import {bootstrap} from 'angular2/platform/browser';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {AppComponent} from './app.component';
bootstrap(AppComponent, [ROUTER_PROVIDERS]);
导出类NavBarComponent{
缺少router_directives
@Component({
selector: 'nav-bar',
directives : [ROUTER_DIRECTIVES],
template : `<ul>
<li *ngFor="#item of menuItems; #i=index"><a
[ngClass]="{active: activeIndex ==i}" (click)= "navigateTo(i)"
[routerLink]="['Rooms']"> {{item.label}}</a></li>
<div class="exit"><i class="material-icons md-48">exit_to_app</i> </div>
</ul>
`,
})
export class NavBarComponent {
就像您在AppComponent
中拥有它们一样
怎么回事?为什么这不起作用? 环境 Visual Studio 2015更新1 ASP.NET 5和MVC6 DNX 4.5.1和5.0 Angular2打字稿
我有问题使用Angular2路由器,我不能解决它。 我还在breadcrumb.ts导入ROUTER_DIRECTIVES 但是当我打开浏览器时,异常如下所示: 无法绑定到'routerlink',因为它不是Breadcrumb>ol:nth-child(0)>li:nth-child(1)>a:nth-child(1)[[routerlink]=['home']]中的已知本机属性
我生成了新的@Directive角CLI, 并且我尝试在我的组件中使用(ChatWindowComponent) 即使within指令只是Angular CLI生成的代码: 我得到了错误: zone.js:388 未处理的promise拒绝:模板解析错误:无法绑定到“appContenteditableModel”,因为它不是“p”的已知属性。 我尝试了几乎所有可能的变化,t 有帮助吗?
是的,这可能是第一百次有人遇到这个问题,但没有解决办法对我有效。。。 我使用角2.0.0 rc和什么都不会工作,我想我错过了一些东西,但我不知道是什么 这是我的文件,它们都可以正确传输,是的,我尝试使用不推荐的路由,是的,我根据文档做了,两者都不起作用。 app.component.ts 主要的ts 指数html 其余的文件几乎都是教程中的复制粘贴,所以我不会用更多的代码来垃圾邮件。。。 更新,我
我正在尝试设置下拉的默认值,我设置了一个默认值的模型,但它没有更新选择 请参阅此https://plnkr.co/edit/bnm5yxx78iykv2Opazol?p=preview
问题内容: 这是主模板的控制器: 这是指令: 这是在主模板中应用指令的方式: 这是从指令模板(website-overview.html)调用的方法: 问题:单击“编辑”时,此错误出现在控制台中: TypeError:无法使用“ in”运算符在1中搜索“ editWebsite” 有人知道这里发生了什么吗? 问题答案: 由于您定义了表达式绑定(),因此如果要在HTML中将其绑定为,则需要使用JSO