成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Angular系列學(xué)習(xí)一:使用Angujar CLI快速理解Angular項目的一些基本概念和寫法

trilever / 3375人閱讀

摘要:開始項目前,你需要先安裝和,然后執(zhí)行安裝。一用命令行新建一個項目執(zhí)行上面的命令就會自動新建一個項目,并啟動了項目。

作者:心葉
時間:2018-04-22 09:13

Angular CLI是一個命令行界面工具,它可以創(chuàng)建項目、添加文件以及執(zhí)行一大堆開發(fā)任務(wù),比如測試、打包和發(fā)布,這里的快速開始就是基于這個命令。

開始項目前,你需要先安裝node和npm,然后執(zhí)行npm install -g @angular/cli安裝Angular CLI。

一:用命令行新建一個項目
ng new newApp --skip-install

cd newApp

cnpm install

ng serve --open

執(zhí)行上面的命令就會自動新建一個Angualr項目,并啟動了項目。

其中--skip-install表示node包先不安裝,我們接著使用cnpm install安裝會快多了。

二:目錄結(jié)構(gòu)

現(xiàn)在來看看ng命令幫助我們生成了什么,也就是項目的目錄結(jié)構(gòu),里面都是干什么的,先有個大致了解,你可以不知道全部,不過先記住下面幾個個人感覺重要的:

1.src:應(yīng)用代碼存放的地方;

2.src/app:你的代碼主要存放的地方,這樣說也許不合適,不過你開發(fā)的時候,大部分時間都是在修改這里的代碼;

3.src/assets:圖片等存放的地方,構(gòu)建時會復(fù)制到發(fā)布包里;

4.src/main.js:你基本不會修改它,它是程序的主入口;

5.src/styles.css:特別用的樣式寫在對應(yīng)的地方,后面會說,對于公共的樣式就會寫在這里;

6.karma.conf.js:給Karma的單元測試配置,當(dāng)運(yùn)行ng test時會用到它。

三:自定義組件
import { Component } from "@angular/core";

@Component({

    selector: "my-comp",
    
    template: "
  • ID:{{row.id}} INFO:{{row.info}}
", styles: [`ul{background-color: antiquewhite;padding-left: 10px;list-style: none;}`] }) export class MyComponent { dataList = [ { id: 1, info: "Angular" }, { id: 2, info: "React" }, { id: 3, info: "Vue" } ]; }

上面就已經(jīng)定義好了一個非常簡單的組件,不過在使用前,你還需要在模塊中定義,此時就是src/app/app.module.ts中注冊:

import { NgModule } from "@angular/core";

import { MyComponent } from "./my.component";

@NgModule({

    declarations: [
        MyComponent
    ]
    
})
......

現(xiàn)在已經(jīng)注冊好了,你就可以使用了,上面的例子的使用方法很簡單,就是自定義了一個標(biāo)簽my-comp,和普通的div的用法一模一樣。

需要注意的是,為了方便查看,在注冊的例子中我去掉了無關(guān)的代碼,實際情況還好有包括啟動,別的組件,服務(wù)等的注冊,你可以看看命令行自動生成的別的指令,這里主要還是說明更重要的東西,下同。

類似AngularJS,Angular的selector除了上面的自定義標(biāo)簽,還有別的:

1.selector: "element-name"http://自定義標(biāo)簽選擇器;

2.selector: ".class"http://樣式選擇器;

3.selector: "[attribute]"http://屬性選擇器;

4.selector: "[attribute=value]"http://屬性值選擇器;

5.selector: ":not(sub_selector)"http://取反選擇器;

6.selector: "selector1, selector2"http://多種選擇器。

四:自定義服務(wù)

和組件一樣,我們先來定義一個服務(wù)。

import { Injectable } from "@angular/core";

export class DataFormat { 
    id: number; 
    info: string; 
}

@Injectable()
export class MyServ {

    getData(): DataFormat[] {
        return [
            { id: 1, info: "Angular" }, 
            { id: 2, info: "React" }, 
            { id: 3, info: "Vue" }
        ];
    }
    
}

接著來注冊它,服務(wù)和組件在注冊上有點不同,我們現(xiàn)在先注冊在主組件上面吧,默認(rèn)就是在arc/app/app.component.ts文件中注冊:

import { Component } from "@angular/core";

import { MyServ } from "./my.service";

@Component({

    providers: [MyServ]
    
})

服務(wù)的使用也很簡單,我們這里用構(gòu)造函數(shù)來演示一下:

import { MyServ } from "./my.service";
......

export class MyComponent {

    dataList: any[];
    
    constructor(private demoService: MyServ) {
    
      this.dataList = this.demoService.getData();
      
    }
    
}

還記得自定義組件的代碼嗎?我們就在其中演示了服務(wù)的用法,上面只給出了修改的部分代碼。

五:路由的使用

我們這里給出路由的一個簡單用法,具體的細(xì)節(jié)和上面的類似,會多帶帶再去討論,這篇文章的目的就是快速入門使用。

為了方便演示,我們默認(rèn)已經(jīng)定義好了二個組件:MyComponent和My2Component。

首先需要確定index.html頁面的head標(biāo)簽中定義好了或動態(tài)生成該元素的腳本。

我們先在src/app/app.module.ts中注冊路由:

......
import { RouterModule } from "@angular/router";

@NgModule({

    declarations: [MyComponent,My2Component],
    
    imports: [
    
        RouterModule.forRoot([
        
            {path: "my",component: MyComponent},
            
            {path: "my2",component: My2Component}
            
        ])
    ]
    ......
})
......

使用就很簡單了:

toMycomp

toMy2comp


點擊toMycomp或者toMy2comp就會跳轉(zhuǎn)對應(yīng)的路由設(shè)置的組件了。

六:HTTP

由于@angular/http庫中的HttpModule保存著http相關(guān)的服務(wù),需要先引入進(jìn)來(這里是在src/app/app.module.ts中引入):

import { HttpModule }    from "@angular/http";

@NgModule({

    imports: [HttpModule]
    
})
......

現(xiàn)在,http就是一個服務(wù),下面簡單演示一種用法:

......
import { Http } from "@angular/http";
......

    constructor(private http: Http) {
    
        http.get("assets/XXX.json").forEach(function (data) {
        
            console.log(data["_body"]);
            
        });
        
    }
    
......

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/94492.html

相關(guān)文章

  • Angular(01)-- 架構(gòu)概覽

    摘要:正文架構(gòu)概覽正文架構(gòu)概覽接觸大概一個月吧,期間寫了個項目,趁現(xiàn)在稍微有點時間,來回顧梳理一下。里的模塊,并不等同于項目中的模塊概念。當(dāng)然,這只是我目前階段的理解。聲明 本系列文章內(nèi)容梳理自以下來源: Angular 官方中文版教程 官方的教程,其實已經(jīng)很詳細(xì)且易懂,這里再次梳理的目的在于復(fù)習(xí)和鞏固相關(guān)知識點,剛開始接觸學(xué)習(xí) Angular 的還是建議以官網(wǎng)為主。 因為這系列文章,更多的會...

    bitkylin 評論0 收藏0
  • Angular 4 簡單入門筆記

    摘要:首先,我們需要在入口頁面的中配置根路徑然后創(chuàng)建一個路由模塊路由配置在主模塊中導(dǎo)入配置好的路由模塊而在頁面中需要一個容器去承載上面代碼中的定義了用戶點擊后的路由跳轉(zhuǎn),定義該路由激活時的樣式類。 剛實習(xí)的時候用過AngularJS,那時候真的是連原生JavaScript都不會寫,依樣畫葫蘆做了幾個管理后臺。然后突然換項目了,AngularJS就不寫了,感覺前前后后接觸了一年多的Angula...

    whlong 評論0 收藏0
  • 那些年初識Angular(1)

    摘要:它包含多個屬性,這些屬性值叫做元數(shù)據(jù)。會根據(jù)元數(shù)據(jù)渲染組件,并執(zhí)行組件邏輯。元數(shù)據(jù)會告訴圖和將這個類處理成一個組件。元數(shù)據(jù)這段代碼表示這個組件可以通過這個標(biāo)簽來調(diào)用。 那些年初識Angular 由于工作需要初識了Angular,由于個人在學(xué)習(xí)一門新語言的時候喜歡買一本相關(guān)的書籍自己鉆研,還記得自己的第一本Angular書籍是關(guān)于Angular2的學(xué)習(xí),自此正式踏入Angular的學(xué)習(xí)。...

    Flink_China 評論0 收藏0
  • ELSE 技術(shù)周刊(2017.12.11期)

    摘要:業(yè)界動態(tài)發(fā)布版本,同時發(fā)布了版本以及首個穩(wěn)定版本的。程序人生如何用人類的方式進(jìn)行二關(guān)于如何在中進(jìn)行良好的溝通,避免陷入一些潛在的陷阱。技術(shù)周刊由小組出品,匯聚一周好文章,周刊原文。 業(yè)界動態(tài) Angular 5.1 & More Now Available Angular發(fā)布5.1版本,同時發(fā)布了Angular CLI 1.6版本以及首個穩(wěn)定版本的Angular Material。CL...

    tylin 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<