ionic入门之服务开发模式

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71330667 本章在ionic入门之多组件开发模式 基础上修改,创建服务用于多个view中调用,避免写重复的代码。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71330667
本章在 ionic入门之多组件开发模式 基础上修改,创建服务用于多个view中调用,避免写重复的代码。

目录结构

新增加了 mock-heroes.ts hero.service.ts
  1. mock-heroes.ts,用来储存数据的
  2. hero.service.ts,用来支持服务

mock-heroes.ts

import { Hero } from  './hero';

export const HEROES : Hero[] = [
  { id : 101, name : '张三'},
  { id : 102, name : '李四'},
  { id : 103, name : '王五'},
  { id : 104, name : '赵六'},
  { id : 105, name : '陈七'},
  { id : 106, name : '吴八'}
];

hero.service.ts

import { Injectable } from '@angular/core';
import { Hero } from './hero';
import { HEROES } from  './mock-heroes';

// 注意,导入了 Angular 的Injectable函数,并作为@Injectable()装饰器使用这个函数。
@Injectable()
export class HeroService{

  getHeroes() : Promise<Hero[]>{
    return Promise.resolve(HEROES);
  }
  getHeroesSlowly(): Promise<Hero[]> {
    return new Promise(resolve => {
      // 等待20秒之后在去调用方法
      setTimeout(() => resolve(this.getHeroes()), 2000);
    });
  }
}

hero.component.ts

import {Component, OnInit} from '@angular/core';
import { Hero } from './hero';
import { HeroService } from  './hero.service';

@Component({
  selector : 'my-app',
  templateUrl : './hero.component.html',
  providers : [ HeroService ]
})
//实现OnInit 并使用ngOnInit方法,在HeroComponent初始化后调用方法
export class HeroComponent implements OnInit{
  title = '人物列表';
  heroes : Hero[];
  selectedHero : Hero;
  constructor(private heroService : HeroService){

  }
  getHeroes() : void {
    // this.heroService.getHeroes().then(heroes => this.heroes = heroes);
    this.heroService.getHeroesSlowly().then(heroes => this.heroes = heroes);
  }

  ngOnInit() : void {
    this.getHeroes();
  }

  onSelect(hero : Hero) : void {
    this.selectedHero = hero;
  }
}

view



相关文章
|
JSON API 数据格式
ionic3项目实战教程 - 第3讲 ionic3封装全局网络请求服务app.service
ionic3项目实战教程 - 第3讲 �ionic3封装全局网络请求服务app.service 这一讲主要包含以下几个部分 配置全局的接口地址; 封装http get请求参数编码; 封装特定http get请求; 封装特定http post请求; 封装全局的alert和toast; 封装全局获取/移除缓存数据的函数 在app.
1211 0
ionic入门之启动后会有短暂的白屏和黑屏
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
1378 0
|
Web App开发 JavaScript 前端开发
Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许差别请查阅相关文档即可。
1192 0
|
JavaScript 前端开发 Android开发
Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念、发展历程、适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源。原文发表于我的技术博客 1. Ionic 简介 在前端技术发展越来越快的今天,Hybrid App 开发技术也受到了很大的影响。
1663 0
|
数据可视化
Ionic 入门与实战之第二章第二节:Ionic 环境搭建之 Ionic Lab 使用
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第二节,主要对 Ionic Lab 工具作了介绍,并讲解了其使用方法,这也是一个开发 Ionic 比较好的调试工具。原文发表于我的技术博客Ionic Lab 是 Ionic 发布的一个可视化、跨平台的项目管理工具,可以创建、测试、编译、发布 Ionic 项目。
1230 0
|
JavaScript 前端开发 编解码
Ionic 入门与实战之第三章:Ionic 项目结构以及路由配置
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第三章,主要对 Ionic 的项目结构作了介绍,并讲解了Ionic 中的路由概念以及相关配置。原文发表于我的技术博客 1. Ionic 项目结构 这是初始化创建的 Ionic 项目结构,接下来将一一讲解。
1408 0
|
前端开发
ionic入门之深链接和延迟加载
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71741941 主要模块 延迟加载听起来像是一个复杂的过程,但实际上是非常直截了当。
1326 0
ionic入门之数据绑定显示-1
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71270393 [(ngModel)]是一个Angular语法,用于把hero.name绑定到输入框中。
1050 0
|
前端开发 Python
ionic入门之数据绑定显示-2
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
877 0
ionic入门之多组件开发模式
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71276112 在实战中建议是用多组件开发模式,高耦合低内聚。
745 0