[Angular 2] Adding a data model

本文介绍了一个使用Angular2框架创建的Todo应用实例。该应用通过定义数据模型和业务逻辑来实现任务项的添加功能,并展示了如何在组件中双向绑定输入框与数据模型。

Instead of add todo as a string, we create a data model:

export class TodoModel{
    constructor(
        public title: string = ""
    ){}
}


export class TodoService{
    todos: TodoModel[] = [
        new TodoModel('eat'),
        new TodoModel('sleep'),
        new TodoModel('work')
    ];

    addTodo(value: TodoModel):void {
        this.todos.push(value);
    }
}

 

todoInput.ts

import {Component, View, FORM_DIRECTIVES} from "angular2/angular2";
import {TodoService, TodoModel} from "./todoService";
@Component({
    selector: 'todo-input'
})
@View({
    directives: [FORM_DIRECTIVES],
    template: `
        <form action="" (ng-submit)="onSubmit()">
            <input type="text" [(ng-model)]="todoModule.title">
        </form>
    `
})
export class TodoInput{
    todoModule:TodoModel = new TodoModel();

    constructor(
        //@Inject(TodoService) todoService
        public todoService:TodoService
    ){
        this.todoService = todoService;
    }

    onSubmit(){
        this.todoService.addTodo(this.todoModule);
        this.todoModule = new TodoModel();  // reinit the this.todoModule
    }
}

 

转载于:https://www.cnblogs.com/Answer1215/p/4910172.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值