我有以下路由配置:
const routes: Routes = [
{
component: MyComponent,
path: '',
children: [
{
component: MyListComponent,
path: ''
},
{
component: MyFormComponent,
path: ':id/edit'
},
{ path: '**', redirectTo: '' }
]
}
];
Run Code Online (Sandbox Code Playgroud)
为了将参数限制为数字,我开始搜索并花费太多时间后,我已经找到了一种方法在这个封闭的(我不知道为什么)问题:https://github.com/angular/angular /问题/ 12442
所以,我将配置(特别是重要的部分)更改为以下内容:
{
component: MyFormComponent,
matcher: ComplexUrlMatcher('id', /[1-9]+\/edit/)
}
export function ComplexUrlMatcher(paramName: string, regex: RegExp) {
return (
segments: UrlSegment[],
segmentGroup: UrlSegmentGroup,
route: Route) => {
const parts = [regex];
const posParams: { [key: string]: UrlSegment } = {};
const consumed: …Run Code Online (Sandbox Code Playgroud) 我有两个服务。login.service.ts和environment-specific.service.ts。
在login.service.ts我需要初始化一个 Json 对象,environment-specific.service.ts从中传递几个链接。
用例是如何在没有 的情况下使其在 servcie 中工作ngOnInit(){},因为 ngOnInit()根据 Angular2 Lifecycle Hook 不能在 servcie 中使用。
在这里你可以找到我必须在里面初始化的部分login.service.ts- 当然没有ngOnInit()方法:
...
import { EnvSpecific } from '../models/env-specific';
import { ActivatedRoute } from "@angular/router";
@Injectable()
export class LoginService {
link1: string;
link2: string;
link3: string;
constructor(private http: Http, private fbuilder:FormBuilder, private route: ActivatedRoute) { }
ngOnInit(){
this.route.data
.subscribe((data: { envSpecific: EnvSpecific }) => {
this.link1 = data.envSpecific.link1;
this.link2 = …Run Code Online (Sandbox Code Playgroud) 有谁知道选择 Tab 1 时如何调用函数?md-on-select 不再有效
<md-tab-group>
<md-tab label="Tab 1">Content 1</md-tab>
<md-tab label="Tab 2">Content 2</md-tab>
</md-tab-group>
Run Code Online (Sandbox Code Playgroud) 我很沮丧,因为我运行了构建,但它不会在项目文件夹中生成dist文件夹.我对其他项目没有任何问题.奇怪的是,编译器不会给出任何错误.有人可以检查我的项目并告诉原因吗? https://github.com/vugar005/Report 亲切的问候