首页 >> 大全

安装CLI及搭建项目

2023-09-03 大全 27 作者:考证青年

官网传送门

安装CLI及搭建项目

> npm install -g @angular/cli
> ng new my-app  或 ng new my-app --style=scss
> cd my-app 
> ng serve --open
网络慢可切换至cnpm 
> ng set --global packageManager=cnpm

-cli修改端口号

例如:创建模块

ng generate component my-component-name

例如:创建服务

ng g s my-s-name

显示数据

使用插值表达式显示组件()属性

要显示组件的属性,最简单的方式就是通过插值表达式 () 来绑定属性名。 要使用插值表达式,就把属性名包裹在双花括号里放进视图模板,如{{}} 自动从组件中提取属性的值,并且把这些值插入浏览器中。当这些属性发生变化时, 就会自动刷新显示。

内联 () 模板还是模板文件?

无差别,根据个人喜好来。内联是,模板文件使用

使用ngFor显示数组属性

  • ngFor的*前缀表示

    通过 NgIf 进行条件显示

    搭建项目的关键步骤__搭建cicd

    There are many heroes!

    的ngIf指令会根据一个布尔条件来显示或移除一个元素。

    双向数据绑定

    [(ngModel)] = "hero.name"
    

    双向数据绑定: [()]是一个语法,用与把hero.name绑定到输入框中。 它的数据流是双向的:从属性到输入框,并且从输入框回到属性。虽然是一个有效的指令,但它默认情况下却是不可用的。 它属于一个可选模块。 我们必须选择使用那个模块。

    处理点击事件

  • ...
  • 圆括号标识

    css [class]

    /*
    当表达式(hero === selectedHero)为true时,
    Angular会添加一个CSS类selected。为false时则会移除selected类。
    */
    [class.selected]="hero === selectedHero"
    

    关于[class]绑定的更多信息,参见模板语法。

    组件命名指南

    文件名和组件名遵循风格指南中的标准方式。组件的类名应该是大驼峰形式,并且以结尾。 因此英雄详情组件的类名是。组件的文件名应该是小写中线形式,每个单词之间用中线分隔,并且以..ts结尾。 因此类应该放在.ts文件中。

    定义组件

    要定义一个组件,我们总是要先导入符号。@装饰器为组件提供了元数据。 CSS选择器的名字hero-会匹配元素的标签名,用于在父组件的模板中标记出当前组件的位置。 本章的最后,我们会把添加到的模板中。总是这个组件类,因为你必然会在别处它。

    父组件向子组件传递值

    /*
    在等号的左边,是方括号围绕的hero属性,
    这表示它是属性绑定表达式的目标。 
    我们要绑定到的目标属性必须是一个输入属性,
    否则Angular会拒绝绑定,并抛出一个错误。
    */
    
    

    父组件会告诉子组件要显示哪个英雄, 告诉的方法是把它的属性绑定到的hero属性上

    搭建项目的关键步骤__搭建cicd

    要保证目标属性是一个输入属性:

    首先,修改@/core导入语句,使其包含符号Input。

    { , Input } from '@/core';然后,通过在hero属性前面加上@Input装饰器,来表明它是一个输入属性。

    @Input() hero: Hero; 每个组件都必须在一个(且只有一个)模块中声明。

    在中声明,打开app..ts并且导入,以便我们可以引用它。 { } from './';把添加到该模块的数组中。: [ , ],通常,数组包含应用中属于该模块的组件、管道和指令的列表。 组件在被其它组件引用之前必须先在一个模块中声明过

    创建英雄服务

    import { Injectable } from '@angular/core';@Injectable()
    export class HeroService {
    }
    

    当 看到@()装饰器时,就会记下本服务的元数据。 如果 需要往这个服务中注入其它依赖,就会使用这些元数据。可以从任何地方获取Hero数据 —— Web服务、本地存储或模拟数据源。 从组件中移除数据访问逻辑意味着你可以随时更改这些实现方式,而不影响需要这些英雄数据的组件。

    路由器导航

    路由器是一个可选的外部 ,名叫。 路由器包含了多种服务()、多种指令(、、)、 和一套配置()。我们将先配置路由。

    引入路由模块 { , } from '@/';配置路由 {path:'dir',:}路由输出配置 路由链接 配置带参数的路由

    导致这次大修的原因是如何获得这个英雄的数据。

    我们不会再从父组件的属性绑定中接收英雄数据。 新的

    应该从服务的可观察对象中取得id参数, 并通过服务获取具有这个指定id的英雄数据。在()生命周期钩子中,我们从服务的可观察对象中提取id参数, 并且使用来获取具有这个id的英雄数据。。

    使用管道格式化

    注意,英雄的名字全被显示成大写字母。那是管道的效果,借助它,我们能干预插值表达式绑定的过程。可以管道操作符 ( | ) 后面看到它。管道擅长做下列工作:格式化字符串、金额、日期和其它显示数据。 自带了一些管道,我们也可以写自己的管道。

    {{selectedHero.name | uppercase}} is my hero
    

    end

    关于我们

    最火推荐

    小编推荐

    联系我们


    版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
    Powered By Z-BlogPHP.
    复制成功
    微信号:
    我知道了