angular2 把TypeScript像写java那样面向接口编程 哈哈
发布时间:2020-12-17 09:58:04 所属栏目:安全 来源:网络整理
导读: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:
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 ") } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |