美文网首页
认识angular

认识angular

作者: cj_jax | 来源:发表于2019-03-08 19:52 被阅读0次

    angular的优缺点

    angular的优点

    • 模板功能强大丰富
    • 比较完善的MVC的框架
    • 引入了java的概念

    angular的缺点

    • 性能
      • 双向的数据绑定的缺点,
    • 路由(核心模块)
    • 作用域(非常重要)
    • 表单验证
    • javascript语言
    • 学习成本

    angular的新特性

    • 全新的命令行工具AngularCli
    • 服务期端的渲染
    • 移动端和桌面的兼容

    angular与react相比

    • 速度
    • FLUX架构
    • 服务器渲染

    angular 与 Vue的相比

    • 简单

    • 灵活

    • 性能

    • vue 的缺点

      • 个人主导
      • 只关注web
      • 服务器端渲染

    学习angular

    angular的程序架构

    • 组件:是angular的基本1构建块,你可以把一个组件理解为带有业务逻辑和数据的HTML
    • 指令:允许你向HTML元素添加自定义行为
    • 服务:用来封装可重复使用的业务逻辑
    • 模块:用来将应用中不同的部分组成一个angular框架可以理解的单元(用来打包和构建的)

    搭建angular的开发环境

    • 安装node

    • 安装angularCLI

    • 目录的结构说明

    • e2e 端到端的测试目录 作用:做自动测试的

    • src 源代码目录 作用:我们写的源代码应该都写在src得目录中

      • app应用的组件和模块
      • assets 存放静态资源
      • environments 环境配置 作用:环境分为开发环境和生产环境,环境的配置分别写入在不同的文件中
      • index.html 网站的根html body中包含着一个app-root标签
        -main.js 是整个web的入口点,也是执行的入口点,angular通过这个main.js执行整个项目
      • polyfills.js 导入兼容性的库 作用:让angular能够执行老版本的angular的项目等
      • style.css(.less/.sass) 设置全局的样式
      • test.ts 测试用的配置
      • tsconfig.json 是typescript的配置
    • angular-cli.json angular的命令行配置文件 作用:可以用来引入第三方的包和Bootstrap

    • karma.config.js

      • 作用:执行自动化测试的
    • package.json npm的配置文件

      • 作用:当前cli所使用的第三方依赖的包
    • node_modules 下载的依赖包 webpage.json下载的依赖包,全部都放在这里

    • REAME.md 如何使用angular

    • tslint.json ts的配置,用于检验ts的校验

    组件(Component)的组成

    • 必备元素(@Component()、template、Controller)
    • 可选可注入的对象(@inputs()、providers)
    • 可选的输出对象(Lifecyle Hooks styles Animations @Outputs)

    装饰器(Component())

    • 作用:告诉编辑器如何处理一个typescript的类,包含多个属性,这些的值叫做源数据,根据源数据的值渲染主件,然后执行的源数据的操作
    • 说明:装饰器的全称为 组件源数据装饰器

    模板(template)

    • 作用:定义组件的外观
    • 说明:模板的外观类似html,但是可以通过angular的语法将控制器上的数据,显示在模板上

    控制器(Controller)

    • 作用:typescript的类
    • 说明:就是一个普通的typescript的类,通过Component()进行装饰,控制器上包含组件所有的属性和方法,页面中的事件逻辑都是写在这个控制器中的,控制器通过数据绑定与模板进行通讯,模板展现控制器的数据,控制器处理页面中的事件操作(点击,提交,输入内容等)

    输入属性 (@inputs())

    • 作用:可以实现父组件传递参数给子组件
    • 说明:用来接收用户输入的数据

    提供器(provides)

    • 作用:用来做依赖注入的
    • 说明:

    生命周期钩子(Lifecyle Hooks)

    • 作用:用来做依赖注入的
    • 说明:

    样式表(styles)

    • 作用:提供组件专用的样式(可选)
    • 说明:

    动画(animations)

    • 作用:angular提供的动画的效果
    • 说明:

    输出属性(@Outputs)

    • 作用:用来定义其他的组件可能修改数据的方法,用来在组件间共享数据
    • 说明:

    创建一个组件

    • 创建一个组件
    // 导入装饰器
    import { Component } from '@angular/core';
    
    // 使用装饰器 定义了一个组件
    @Component({
      selector: 'app-root',
      // templateUrl 模板的位置  component.html 模板对应的文件
      templateUrl: './app.component.html',
      // styleUrls 这个模板中需要用的样式
      styleUrls: ['./app.component.less']
    })
    
    // 所有的组件都必须用一个component来进行分包裹
    // 装饰器的属性叫做源数据
    // 将源数据使用装饰器进行包裹,就能把源数据添加到AppComponent上
    // 源数据的作用:告诉angular如何解析这个组件
    
    
    // 导出 AppComponent
    // 定义了一个控制器 AppComponent
    export class AppComponent {
      title = 'auction';
    }
    
    

    模块

    • @NgModule 是模块的的装饰器
      • declarations:[
        组件
        ]
        • 注意点:在这个源数据中只能声明组件、管道、指令
      • imports 导入依赖项
      • providers 用来模块提供的服务 只能声明服务
      • bootsrap 声明主组件

    相关文章

      网友评论

          本文标题:认识angular

          本文链接:https://www.haomeiwen.com/subject/hmydpqtx.html