zoukankan      html  css  js  c++  java
  • [Angular 2] Passing data to components with @Input

    @Input allows you to pass data into your controller and templates through html and defining custom properties. This allows you to easily reuse components, such as item renderers, and have them display different values for each instance of the renderer.

    todoItemRender.ts

    import {Input, Component, View} from "angular2/angular2";
    
    @Component({
        selector: 'todo-item-render'
    })
    @View({
        template: `
           <div>
               <span [content-editable]="todoinput.status === 'started'">{{todoinput.title}}</span>
               <button (click)="todoinput.toggle()">Toggle</button>
           </div>
        `
    })
    
    export class TodoItemRender{
        @Input() todoinput: TodoModel;
    }

    todoList.ts

    import {Component, View, NgFor} from 'angular2/angular2';
    import {TodoService} from './todoService';
    import {TodoItemRender} from './todoItemRender'
    
    @Component({
        selector: 'todo-list'
    })
    @View({
        directives: [NgFor, TodoItemRender],
        template: `
              <div>
                    <todo-item-render
                        *ng-for="#todo of todoService.todos"
                        [todoinput]="todo"
                    >
                    </todo-item-render>
              </div>
        `
    })
    
    export class TodoList{
        constructor(
            public todoService:TodoService
        ){
    
        }
    }
  • 相关阅读:
    ***EF中的问题(复习的同学可略过)
    课堂练习
    MVC-07 案例2
    MVC-06 安装部署
    MVC-05 Model(2)
    MVC-05 Model(1)
    MVC-04 视图(3)
    Learning Web
    MVC-04 视图(2)
    hdu 1272 并查集
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4910174.html
Copyright © 2011-2022 走看看