相关疑难解决方法(0)

如何在Angular 2中创建单件服务?

我已经读过,当引导应该让所有孩子共享相同的实例时注入,但我的主要和头部组件(主应用程序包括头部件和路由器出口)都获得了我的服务的单独实例.

我有一个FacebookService,用于调用facebook javascript api和一个使用FacebookService的UserService.这是我的引导程序:

bootstrap(MainAppComponent, [ROUTER_PROVIDERS, UserService, FacebookService]);
Run Code Online (Sandbox Code Playgroud)

从我的日志记录看起来,引导调用结束,然后我看到FacebookService然后在每个构造函数运行的代码,MainAppComponent,HeaderComponent和DefaultComponent之前创建UserService:

在此输入图像描述

typescript angular2-routing angular2-services angular

131
推荐指数
7
解决办法
12万
查看次数

Angular 2:将数据传递给路由?

我正在研究这个angular2项目,我用它ROUTER_DIRECTIVES来从一个组件导航到另一个组件.

有2个组件.即PagesComponent&DesignerComponent.

我想从PagesComponent导航到DesignerComponent.

到目前为止它的路由正确但我需要传递pageObject,因此设计人员可以加载该页面对象本身.

我尝试使用RouteParams但它获取页面对象undefined.

下面是我的代码:

pages.component.ts

import {Component, OnInit ,Input} from 'angular2/core';
import { GlobalObjectsService} from './../../shared/services/global/global.objects.service';
import { ROUTER_DIRECTIVES, RouteConfig } from 'angular2/router';
import { DesignerComponent } from './../../designer/designer.component';
import {RouteParams} from 'angular2/router';

@Component({
    selector: 'pages',    
    directives:[ROUTER_DIRECTIVES,],
    templateUrl: 'app/project-manager/pages/pages.component.html'
})
@RouteConfig([
  { path: '/',name: 'Designer',component: DesignerComponent }      
])

export class PagesComponent implements OnInit {
@Input() pages:any;
public selectedWorkspace:any;    
constructor(private globalObjectsService:GlobalObjectsService) {
    this.selectedWorkspace=this.globalObjectsService.selectedWorkspace;                    
}
ngOnInit() { }   
}
Run Code Online (Sandbox Code Playgroud)

在html中,我正在做以下事情: …

javascript typescript angular2-routing angular

35
推荐指数
2
解决办法
11万
查看次数

试着考虑如何在角度2中构建多步形式

我正在尝试构建一个小的3步形式.这将类似于:

在此输入图像描述

我做出反应的方式是使用redux来跟踪表单完成并根据步骤编号(0,1,2)呈现表单正文标记.

在角度2中,这样做的好方法是什么?这就是我现在正在尝试的东西,而我还在努力.我的方法很好吗?有没有更好的方法呢?

我有一个父组件<app-form>,我会在其内部嵌套<app-form-header><app-form-body>.

<app-form>
  <app-header [step]="step"></app-header>
  <app-body [formData]="formData"></app-body>
</app-form>
Run Code Online (Sandbox Code Playgroud)

<app-form>组件中我有一个step: numberformData: Array<FormData>.该步骤只是formData中每个对象的索引.这将传递给标题.formData将负责用户的表单数据.每次表单输入有效时,用户都可以单击"下一步"执行nextStep()以增加索引.每个步骤都有一个关联的模板标记.

有没有更好的方法来做这样的事情?

forms angular

15
推荐指数
2
解决办法
3658
查看次数