import {Component} from 'angular2/core'; import {User} from "./User"; import {UserService} from "./user-service"; @Component({ selector: 'appTest',template: ` <ul> <li *ngFor="#user of users"><span>{{user.name}}</span>{{user.age}}</li> </ul> `,providers: [ UserService ] }) export class App { users: User[]; constructor(private userService: UserService) { this.users = userService.getUsers(); } }
/** * Created by dell on 2016/9/8. */ import {Injectable} from 'angular2/core'; import {Users} from "./user-data"; import {LogHelper} from "./log-help"; @Injectable() export class UserService { getUsers() { LogHelper.getInstance().log("get user."); return Users; } }
/** * Created by dell on 2016/9/9. */ import {ILog} from "./ILog"; import {LogImpl1} from "./LogImpl1"; import {LogImpl2} from "./LogImpl2"; export class LogHelper { private static loghelper:LogHelper = null; private currentTag:number = 0; private logobj:ILog; private LogHelper() { } public static getInstance() { if (this.loghelper == null) { this.loghelper = new LogHelper(); } return this.loghelper; } public log(info:string){ if(this.currentTag == 0){ this.logobj = new LogImpl1(); }else{ this.logobj = new LogImpl2(); } this.logobj.info("哈哈" + info) } }
/** * Created by dell on 2016/9/9. */ export interface ILog{ info(info: string); }
/** * Created by dell on 2016/9/9. */ import {ILog} from "./ILog"; export class LogImpl1 implements ILog{ public info(info: string){ console.log(info + ":LogImpl1 ") } }
/** * Created by dell on 2016/9/9. */ import {ILog} from "./ILog"; export class LogImpl2 implements ILog{ public info(info: string){ console.log(info + ":LogImpl2 ") } }原文链接:https://www.f2er.com/angularjs/148885.html