angular从入门到...之hello world

前端开发工程化是将来趋势,目前最火的3大框架分别是angular,vue 和 react。react不太熟悉,应该更多偏向app开发中native与js混合。而angular、vue更多以工程的形式实现先后端分离开发。css

 

angular从2.0开始,实际上是一个新的实现,与1.0的angularjs没有太多的关系。目前angular已升级到5.0版本,官网是https://angular.io/。html

 

angular要求node 6.9.x 和 npm 3.x.x 以上的版本,以下几步开始一个hello world的app。前端

1,全局安装vue

npm install -g @angular/clinode

2,建立一个新项目python

ng new my-appreact

会自动建立项目,并自动npm install。这一点比vue就自动不少,vue的项目要手动npm install。angularjs

3,运行程序npm

cd my-app 后端

ng serve --open

编译运行,会自动打开浏览器的4200端口:

http://localhost:4200/

默认的效果以下图:

 

生成的工程模板里,已有一个默认的app,这个就是根app。

咱们打开src/app/components.ts,修改title的值,

export class AppComponent {
  title = '欢迎来到ailabx';
}

angular是自动更新的,即程序更改了,浏览器不须要咱们自动刷新就会看到最新的效果。

而后咱们修改样式看看,在src/app/conponents.css

h1 {  color: #369;  font-family: Arial, Helvetica, sans-serif;  font-size: 250%;}

能够看到,标题的字段,颜色都变化了。

 

 

 

如今咱们实现一个“英雄联盟”的简单例子。

appcomponent这个类的成员变量,title,hero的值

export class AppComponent {  title = 'Tour of Heroes';  hero = 'Windstorm';

}

 

而后修改模板:

@Component({
  selector: 'app-root',
  //templateUrl: './app.component.html',
  template: `<h1>{{title}}</h1><h2>{{hero}} details!</h2>`,
  styleUrls: ['./app.component.css']
})
template: `
<h1>{{title}}</h1>
<h2>{{hero.name}} details!</h2>
<div><label>id: </label>{{hero.id}}</div>
<div><label>name: </label>{{hero.name}}</div>
`,

模板支持多行表示。

//注意:这里要写在component上方,英雄的类
export class Hero {
  id: number;
  name: string;
}
@component ...
export class AppComponent {
  title = 'Tour of Heroes';
  hero: Hero = {
      id:1,
      name:'wei'
  };
}

要使用ngModel,还要额外在app.modules.ts里导入:

import { FormsModule }   from '@angular/forms'; // <-- NgModel lives here
imports: [
  ...,
  FormsModule
],
 
而后模板里使用以下ngModel指令便可实现name字段与文本框的双向绑定。
<input [(ngModel)]="hero.name" placeholder="name">

 

关于做者:魏佳斌,互联网产品/技术总监,北京大学光华管理学院(MBA),特许金融分析师(CFA),资深产品经理/码农。偏心python,深度关注互联网趋势,人工智能,AI金融量化。致力于使用最前沿的认知技术去理解这个复杂的世界。

扫描下方二维码,关注:AI量化实验室(ailabx),了解AI量化最前沿技术、资讯。

相关文章
相关标签/搜索