小编J J*_*J B的帖子

在RC.1中使用新路由器时如何扩展RouterOutlet

在RC.1中使用新路由器时,我似乎无法扩展RouterOutlet

例:

import { Directive } from '@angular/core';
import { Router, ROUTER_DIRECTIVES, RouterOutlet } from '@angular/router';


@Directive({
  selector: 'router-outlet'
})

export class RouterOutletDirective extends RouterOutlet {

}
Run Code Online (Sandbox Code Playgroud)

错误:

@angular/router/index"'没有导出成员'RouterOutlet'.

我做错了什么或者这是否与RC.1中的新路由器有关?


更新:

import { Directive, Attribute, ViewContainerRef, DynamicComponentLoader } from '@angular/core';
import { Router, Routes, RouterOutletMap } from '@angular/router';
import { RouterOutlet } from '@angular/router/src/directives/router_outlet';


@Directive({
  selector: 'router-outlet'
})
export class RouterOutletDirective extends RouterOutlet {

  constructor(parentOutletMap: RouterOutletMap, _location: ViewContainerRef, name: string) {
    super(parentOutletMap, _location, name);
    console.log( parentOutletMap );
  }


  activate() { …
Run Code Online (Sandbox Code Playgroud)

angular2-directives angular2-routing angular

6
推荐指数
1
解决办法
2209
查看次数

Angular2属性指令表单输入

我正在努力让@Directive按预期工作.

我希望Attr Directive能够访问指令构造函数中的model.password并使用当前密码设置变量varpassword.

我还希望能够检索表单字段中的所有其他输入,我将如何进行此操作?

很多这方面的文档都不完整,因为我知道Beta.

我一直在努力解决这个问题,并且成功有限.我已经删除了我试图让它继续工作的导入,因为我觉得我很困惑如何在指令中正确使用它们我试过"NgModel,NgControl,ControlGroup,NgFormModel,FormBuilder ......".

我的测试示例代码如下.

登录-form.html

<form #testForm="ngForm">
    Email Address: 
    <input type="text" name="username" size="50" required="required" [(ngModel)]="model.username" ngControl="username" #username="ngForm" />

    Password: 
    <input type="password" name="password" size="20" required="required" [(ngModel)]="model.password" ngControl="password" #password="ngForm" testdir />

    <input type="submit" value="Login" />
</form>
Run Code Online (Sandbox Code Playgroud)

app.ts

import {Component} from 'angular2/core';

import {TestDirective} from '../../directives/test.directive';

@Component({
    selector: 'test-app',
    templateUrl: 'login-form.html',
    directives: [TestDirective]
})
export class TestApp {}
Run Code Online (Sandbox Code Playgroud)

test.directive.ts

import {Directive} from 'angular2/core';

@Directive({
    selector: '[testdir]',
    host: {
        '(keydown)': 'run()'
    }
})
export class TestDirective {

    varpassword: string;

    constructor() …
Run Code Online (Sandbox Code Playgroud)

angular2-forms angular2-directives angular

2
推荐指数
1
解决办法
3127
查看次数