ionic入门之多组件开发模式

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71276112 在实战中建议是用多组件开发模式,高耦合低内聚。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71276112
在实战中建议是用多组件开发模式, 高耦合低内聚
文件名和组件名遵循风格指南中的标准方式。
  1. 组件的类名应该是大驼峰形式,并且以Component结尾。 因此英雄详情组件的类名是HeroDetailComponent。
  2. 组件的文件名应该是小写中线形式,每个单词之间用中线分隔,并且以.component.ts结尾。 因此HeroDetailComponent类应该放在hero-detail.component.ts文件中。

目录结构

hero.component.html

<div padding>
  <h1>{{title}}</h1>
  <ul class="heroes">
    <li *ngFor="let hero of heroes" [class.selected]="hero === selectedHero" (click)="onSelect(hero)">
      <span class="badge">{{hero.id}}</span> {{hero.name}}
    </li>
  </ul>
  <hero-detail [hero]="selectedHero"></hero-detail>
</div>

hero.component.scss

my-app {
  .selected {
    background-color: #CFD8DC !important;
    color: white;
  }
  
  .heroes {
    margin: 0 0 2em 0;
    list-style-type: none;
    padding: 0;
    width: 15em;
  }
  
  .heroes li {
    cursor: pointer;
    position: relative;
    left: 0;
    background-color: #EEE;
    margin: 5px 5px 5px 5px;
    height: 25px;
    border-radius: 4px;
  }
  
  .heroes li.selected:hover {
    background-color: #BBD8DC !important;
    color: white;
  }
  
  .heroes li:hover {
    color: #607D8B;
    background-color: #DDD;
    left: .1em;
  }
  
  .heroes .text {
    position: relative;
    top: -3px;
  }
  
  .heroes .badge {
    display: inline-block;
    font-size: small;
    color: white;
    padding: 5px 5px 5px 5px;
    background-color: #607D8B;
    position: relative;
    height: 25px;
    margin-right: .8em;
    border-radius: 4px 0 0 4px;
  }
}

hero.component.ts

import { Component } from '@angular/core';
import { Hero } from './hero';

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

@Component({
  selector : 'my-app',
  templateUrl : './hero.component.html'
})
export class HeroComponent{
  title = '人物列表';
  heroes = HEROES;
  selectedHero : Hero;

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

hero.ts

export class Hero {
  id : number;
  name : string;
}


hero-details.component.html

<div *ngIf="hero">
  <h2>大家好:我叫{{hero.name}}!</h2>
  <div><label>编号: </label>{{hero.id}}</div>
  <div>
    <label>姓名: </label>
    <input [(ngModel)]="hero.name" placeholder="name"/>
  </div>
</div>


hero-details.component.ts

import { Component, Input } from  '@angular/core';
import { Hero } from './hero';

@Component({
  selector : 'hero-detail',
  templateUrl : './hero-details.component.html'
})
export class HeroDateilComponent {
  @Input() hero : Hero;
}


View





 
相关文章
ionic入门之启动后会有短暂的白屏和黑屏
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
1378 0
|
Web App开发 JavaScript 前端开发
Ionic 入门与实战之第二章第一节:Ionic 环境搭建之开发环境配置
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第二章第一节,主要对 Ionic 的开发环境配置做了简要的介绍,本文介绍的开发环境为 Mac 系统,Windows 系统基本类似,少许差别请查阅相关文档即可。
1193 0
|
JavaScript 前端开发 Android开发
Ionic 入门与实战之第一章:Ionic 介绍与相关学习资源
原文发表于我的技术博客 本文是「Ionic 入门与实战」系列连载的第一章,主要对 Ionic 的概念、发展历程、适配的移动平台等知识进行了介绍,并分享了 Ionic 相关的学习资源。原文发表于我的技术博客 1. Ionic 简介 在前端技术发展越来越快的今天,Hybrid App 开发技术也受到了很大的影响。
1664 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/71330667 本章在ionic入门之多组件开发模式 基础上修改,创建服务用于多个view中调用,避免写重复的代码。
927 0
|
前端开发
ionic入门之深链接和延迟加载
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71741941 主要模块 延迟加载听起来像是一个复杂的过程,但实际上是非常直截了当。
1327 0
ionic入门之数据绑定显示-1
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71270393 [(ngModel)]是一个Angular语法,用于把hero.name绑定到输入框中。
1050 0
|
前端开发 Python
ionic入门之数据绑定显示-2
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
877 0
|
Android开发 JavaScript 开发工具
ionic入门之开始使用ionic框架
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/inforstack/article/details/71120744 安装ionic npm install -g cordova ionic 首先,安装Node.js。
1296 0