我制作了一个组件,其中我有一个输入字段和按钮.单击按钮我正在绘制第二个组件.我想将数据从一个组件发送到另一个组件?
我将如何将数据从一个组件发送到另一个组件.我需要发送输入值(输入字段中的用户类型)我需要在下一个组件或下一页显示.单击按钮.如何发送数据?
这是我的傻瓜
http://plnkr.co/edit/IINX8Zq8J2LUTIyf4DYD?p=preview
- import {Component,View} from 'angular2/core';
- import {Router} from 'angular2/router';
- @Component({
- templateUrl: 'home/home.html'
- })
- export class AppComponent {
- toDoModel;
- constructor(private _router:Router) {
- }
- onclck(inputValue){
- alert(inputValue)
- this._router.navigate(['Second']);
- }
- }
哦!!可能我来不及回答这个问题!
但没关系.这可能会帮助您或其他人使用与共享服务一起使用的路由器,共享服务和共享对象在组件之间共享数据.我希望这肯定会有所帮助.
但没关系.这可能会帮助您或其他人使用与共享服务一起使用的路由器,共享服务和共享对象在组件之间共享数据.我希望这肯定会有所帮助.
Boot.ts
- import {Component,bind} from 'angular2/core';
- import {bootstrap} from 'angular2/platform/browser';
- import {Router,ROUTER_PROVIDERS,RouteConfig,ROUTER_DIRECTIVES,APP_BASE_HREF,LocationStrategy,RouteParams,ROUTER_BINDINGS} from 'angular2/router';
- import {SharedService} from 'src/sharedService';
- import {ComponentFirst} from 'src/cone';
- import {ComponentTwo} from 'src/ctwo';
- @Component({
- selector: 'my-app',directives: [ROUTER_DIRECTIVES],template: `
- <h1>
- Home
- </h1>
- <router-outlet></router-outlet>
- `,})
- @RouteConfig([
- {path:'/component-first',name: 'ComponentFirst',component: ComponentFirst}
- {path:'/component-two',name: 'ComponentTwo',component: ComponentTwo}
- ])
- export class AppComponent implements OnInit {
- constructor(router:Router)
- {
- this.router=router;
- }
- ngOnInit() {
- console.log('ngOnInit');
- this.router.navigate(['/ComponentFirst']);
- }
- }
- bootstrap(AppComponent,[SharedService,bind(APP_BASE_HREF).toValue(location.pathname)
- ]);
FirstComponent
- import {Component,View,bind} from 'angular2/core';
- import {SharedService} from 'src/sharedService';
- import {Router,ROUTER_BINDINGS} from 'angular2/router';
- @Component({
- //selector: 'f',template: `
- <div><input #myVal type="text" >
- <button (click)="send(myVal.value)">Send</button>
- `,})
- export class ComponentFirst {
- constructor(service:SharedService,router:Router){
- this.service=service;
- this.router=router;
- }
- send(str){
- console.log(str);
- this.service.saveData(str);
- console.log('str');
- this.router.navigate(['/ComponentTwo']);
- }
- }
SecondComponent
- import {Component,template: `
- <h1>{{myName}}</h1>
- <button (click)="back()">Back<button>
- `,})
- export class ComponentTwo {
- constructor(router:Router,service:SharedService)
- {
- this.router=router;
- this.service=service;
- console.log('cone called');
- this.myName=service.getData();
- }
- back()
- {
- console.log('Back called');
- this.router.navigate(['/ComponentFirst']);
- }
- }
SharedService和共享对象
- import {Component,Injectable,Input,Output,EventEmitter} from 'angular2/core'
- // Name Service
- export interface myData {
- name:string;
- }
- @Injectable()
- export class SharedService {
- sharingData: myData={name:"nyks"};
- saveData(str){
- console.log('save data function called' + str + this.sharingData.name);
- this.sharingData.name=str;
- }
- getData:string()
- {
- console.log('get data function called');
- return this.sharingData.name;
- }
- }