angular学习笔记

创建angular项目

  • 第一步:安装脚手架
    npm install -g @angular/cli
  • 第二步:ng version 查看ng版本,存在则安装成功
  • 第三步:ng new [项目名] 创建angular项目

根模块

  • app.moudles.ts


import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

1.declarations :全局组件 定义全局组件以后可以全局去使用

2.imports: 引入模块 可以引入路由模块,Http请求模块等(模块主要就是封装组件和服务最后暴露出可用组件)

3.providers:配置全局服务

4.bootstrap:启动组件

定义angular组件

  • 使用命令 ng g component component/user

可以使用改命令创建一个component文件夹里面创建一个userComponent组件angular组件

如果使用全局组件 在根模块种去引用组件

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
//引入组件模块
import { UserComponent } from './component/user/user.component';


@NgModule({
  declarations: [
    AppComponent,
    UserComponent
  ],
  imports: [
    BrowserModule,
    AppRoutingModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

userComponent.ts文件

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

@Component({
  selector: 'app-user',//selector html种去引用的名字
  templateUrl: './user.component.html', //组件的html模板
  styleUrls: ['./user.component.css'] //组件的style样式
})
/*
template 还可以内嵌到里面 
@Component({
  selector: 'app-login',
  template: `
    <style>
        input{ width:100px; }
    </style>
    <div>
      <input #usernameRef type="text">
      <input #passwordRef type="password">
      <button (click)="onClick(usernameRef.value, passwordRef.value)">Login</button>
    </div>
  `,
  styles: [`
   :host { margin: 10px; }
   
   .mousedown { border: 2px solid green; }
   
   input:focus { font-weight: bold; outline: none;}
  ` ]
})
.....
css样式还可以定义在模板里面
*/
export class UserComponent implements OnInit {

  constructor() { }

  ngOnInit(): void {
  }

}

app.component.html


<div>
  <app-user></app-user>
</div>

在angular定义属性显示到html模板上

user.Component.ts文件

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

@Component({
  selector: 'app-user',
  templateUrl: './user.component.html',
  styleUrls: ['./user.component.css']
})
export class UserComponent implements OnInit {
  
  userName: any = "我是张三";
  address: string = "山东济宁";
  imagePath: string = "assets/image/abm2.png";
  innerHtml:string = "<h1>helloword</h1>"
    dynamicClass: string = "redFont";
  funcObject: any = {
    getName() {
      return "这是一个方法的getname";
    }
  };

  ngOnInit(): void {}
    
  constructor() { }

  ngOnInit(): void {

  }

}

user.component.html

<p>{
  {userName}}</p>
<div [attr.name]='address'>
    {
  {address}}
</div>
<img [src]='imagePath' />
<div>
    {
  {funcObject.getName()}} //插值中可以调用属性中的方法
</div>1
<div>
    {
  {1+1}} //插值中可以写运算表达式
</div>
<div innerHtml="{
  {innerHtml}}">
</div>
<div [class]='dynamicClass'>
被动态class控制
</div>
<!-- 使用class.[css中的name] 使用该方式右面的属性必须为boolean值 为true时 又是同级先使用动态class blueFont-->
<div [class.blueFont]='isBlueFont' class='redFont'>
        这是一个测试文本
</div>

user.component.css

div[address]{
    background: red;
}

 .redFont{
    font-size: 18px;
    color:red;
}

.blueFont{
    font-size:20px;
    color:blue;
}

1.在div上添加自定义属性name必须用[attr.name]来添加name属性

2.如果添加标签种已有属性 比如 div 种的 title 和img种的src可以直接[title]=‘address’ [src]=‘imagePath’

3.在插值种可以使用类属性种的方法来获取数据比如{ {funcObject.getName()}},插值中是可以写表达式比如运算表达式,或者调用表达式等

注意:(模板表达式不能使用全局命名空间中的成员比如window document 和math.random等)

4.可以用innerHtml属性动态插入html到模板html中 innerHtml="{ {html}}" 或者使用 [innerHtml]=‘html’

5.使用css绑定值:dynamicClass会被component.ts中的 dynamicClass属性替代为redFont

使用css动态绑值的时候可以dynamicClass=“fontRed font18px”可以使用这种方式 复制给组件属性,模板解析到dynamicClass会被把这个属性替换掉

使用class.[css中的name] 使用该方式右面的属性必须为boolean值 为true时 又是同级先使用动态class blueFont

<div [class.blueFont]='isBlueFont' class='redFont'>
        这是一个测试文本
</div>

angular触发事件

    <button (click)='clickAlert()'>点击触发弹出事件</button>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值