美文网首页程序员
Angular入门,搭配ant简单使用

Angular入门,搭配ant简单使用

作者: 于八折_5f03 | 来源:发表于2019-08-13 17:06 被阅读57次

angular安装与新建工程

  • 安装nodejs,最新版本即可,略过
  • 安装angular,当前版本8.2.2

安装最新版本

npm i @angular/cli

安装指定版本,x.x.x版本号

npm i @angular/cli@x.x.x
  • 新建angular工程
ng new ant

工程名ant,会得到一个ant文件夹
运行该命令会询问是否单独生成路由文件,以及选择css预处理格式。路由文件看个人喜好,开发中可随意更改。css预处理样式建议使用less,方便使用ant


工程目录总览
  • 安装依赖
    新建工程时会自动安装好依赖,如果网络不顺畅或者不够科学,安装出错的话,
    删除工程下node_modules文件夹重新安装,可用工具有:
    cnpm :命令cnpm install
    yarn : 命令yarn
    两者的安装使用自行百度
  • 依赖包版本控制 package.json
    package.json文件写明了需要的依赖文件和版本
    使用npm命令安装依赖包时 该文件会自动更新。源码上传分享等不包含node_modules(文件多,零散,太影响速度),执行npm install命令时,安装的依赖包即由该文件控制,正常情况下最好不要手动修改package.json和package-loc.json文件
    package.json
  • angular.json文件
    静态资源路径,引用的脚本,样式等可在这里添加,常用。


    angualr.json

引入ant样式

  • ant版本7对应angular7,8对应angular8,注意大版本与angular保持一致。7,8部分组件使用方法有改变,不兼容,请注意
  • ng add ng-zorro-antd命令,安装ant样式,期间会提示选择语言、模板等,使用键盘选择即可。安装完成会覆盖主页内容,所以尽早引入
  • 也可自行构建,详情参见官网
    https://ng.ant.design/docs/getting-started/zh

主页搭建,简单路由

创建新的模块

ng g c home 创建home组件
ng g m home --routing 创建home模块,独立出路由文件
执行后生成src/app/home文件夹,如下图

home模块

在app.component.html文件中放入主路由底座

<router-outlet></router-outlet>

相当于占位符,具体显示内容由主路由决定

在app-routing.module.ts文件中添加新的路由

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';


const routes: Routes = [
  {
    path:'',loadChildren:()=>import('./home/home.module').then(m=>m.HomeModule)
  }
];

@NgModule({
  imports: [
RouterModule.forRoot(routes) //设置为主路由
],
  exports: [RouterModule]
})
export class AppRoutingModule { }

使用loadChildren属于懒加载,需要在home-routing.module.ts文件中再具体制定路由导航到哪个组件
home-routing.module.ts文件如下:

import {NgModule} from '@angular/core';
import {RouterModule, Routes} from '@angular/router';
import {HomeComponent} from './home.component';


const routes: Routes = [
  {
    path: 'index', component: HomeComponent,
  },
  {
    path: '', redirectTo: 'index'
  }
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class HomeRoutingModule {
}

将index路由导航到homecomponent,即可显示home.component.html的内容

<p>home works!</p>

使用IDE运行,或者ng serve命令运行项目,默认端口4200。访问localhost:4200会自动跳转到index,显示如下

浏览器运行图

绑定脚本变量

在home.component.ts中创建变量name

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.less']
})
export class HomeComponent implements OnInit {

  name='angular';
  list=[1,2,3,4];

  constructor() { }

  ngOnInit() {
  }

}

在home模块中引入ant

home模块是懒加载出来的,所以需要单独引入ant,在app模块中引入的在这不起作用
home.module.ts如下

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { HomeRoutingModule } from './home-routing.module';
import {HomeComponent} from './home.component';
import {NgZorroAntdModule} from 'ng-zorro-antd';


@NgModule({
  declarations: [
    HomeComponent //模块懒加载,要在这里声明组件,而不是app模块中
  ],
  imports: [
    CommonModule,
    HomeRoutingModule, //引入home的独立路由文件
    NgZorroAntdModule, //引入ant design
  ]
})
export class HomeModule { }

在html页面使用脚本变量,添加样式

修改home.component.html文件

<!--直接绑定变量-->
<p>hello {{name}} !!</p>

<!--判断-->
<p *ngIf="name=='angular'">i m angular</p>
<p *ngIf="name!='angular'">i m not angular</p>

<!--循环-->
<p *ngFor="let a of list">
  {{a}}
</p>

<!--ant的button-->
<button nz-button [nzType]="'primary'">ant design button</button>

修改home.component.less文件,设置样式

p{
  text-align: center;
  color: #007700;
}

运行效果如图


浏览器效果图

自定义ant组件样式

  • 在src路径下新建theme.less文件
  • angular.json文件中添加该文件的引用
...
 "styles": [
             ...
              "src/theme.less"  //添加样式引入
            ],
...
  • 在theme.less文件中修改预制样式
// -------- 引入官方提供的 less 样式入口文件 -----------
@import "../node_modules/ng-zorro-antd/ng-zorro-antd.less";

// -------- 自定义参数覆盖 -----------
@primary-color          : #f5222d;
  • 最好重新打包运行一下,效果如下,样式生效


    浏览器效果图

😉下次更新DOM操作,辅助路由,路由复用等

相关文章

网友评论

    本文标题:Angular入门,搭配ant简单使用

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