码迷,mamicode.com
首页 > 其他好文 > 详细

Angular待办事项应用3

时间:2018-10-13 02:45:01      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:建立   ddt   table   inject   F12   string   esc   temp   地址   

隔离业务逻辑

接着上一节,业务逻辑应该复古牛仔单独的service中,我们在todo文件夹中建立TodoService

 

ng g s todo/todo

  

技术分享图片

引入UUID包

todo中id要唯一,一个是采用一个自增长数列,一个是采用随机生成的一组不可能重复的字符序列,常见的就是UUID

npm install --save angular2-uuid

  安装成功:

技术分享图片

修改id类型

 
export class Todo {
    id:string;
    desc:string;
    completed:boolean;
}

  

技术分享图片

修改service

import { Injectable } from ‘@angular/core‘;
import { Todo } from "./todo.model";
import { UUID } from "angular2-uuid";

@Injectable()
export class TodoService {

  todos:Todo[]=[];
  addTodo(todoItem:string):Todo[]{
    let todo={
      id:UUID.UUID(),
      desc:todoItem,
      completed:false
    };
    this.todos.push(todo);
    return this.todos;
  }

  constructor() { }

}

  

技术分享图片

 组件注入依赖service

import { Component, OnInit } from ‘@angular/core‘;
import { Todo } from "./todo.model";
import { TodoService } from "./todo.service";

@Component({
  selector: ‘app-todo‘,
  templateUrl: ‘./todo.component.html‘,
  styleUrls: [‘./todo.component.css‘],
  providers:[TodoService]
})
export class TodoComponent implements OnInit {

  todos:Todo[]=[];
  desc=‘‘;
  addTodo(){
    this.todos=this.service.addTodo(this.desc);
    this.desc=‘‘;
  }

  constructor(private service:TodoService) { }

  ngOnInit() {
  }

}

  

技术分享图片

 

 安装插件(可选)

为了清晰看到成果,我们为chrome浏览器安装一个插件,在chrome地址栏输入

chrome://extensions/

  

技术分享图片

 

 

 下载一个“Angury”插件安装即可,然后按F12键调出开发者工具,里面有一个Angury的tab

 

技术分享图片

 

ok!

 

 

 

 

Angular待办事项应用3

标签:建立   ddt   table   inject   F12   string   esc   temp   地址   

原文地址:https://www.cnblogs.com/1906859953Lucas/p/9780929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!