Angular基础教程+Demo项目——尽可能全面一些——第一节

第二节预告:生命周期函数、Rxjs、数据请求、路由
学习过程中所写的Demo_GitHub——学习Angular——浅度学习Demo
官网:https://angular.cn/(官网是最好的老师哦,追求技术的大神可以继续深入啦)

Angular前言(跳过即可,自勉而已)

一写博客,不例外的喜欢啰嗦一下,本人是广大java后端开发中的一员,但是因为工作需要不得不利用工作之余学习Angular前端,虽然我对于学习前端技术不反感,但是我更加信奉T型发展,先精后广,后端远远称不上精通,就要走广而多的路子了,就怕以后面试官问我会什么,什么都会一点,深入一些后,什么好像又不会。
不过这也没办法,生活不只是有理想远方,还有眼下的面包和生存,先把工作做好,这也是我所追求的。啰嗦结束,进入正题

Angular项目架构介绍

关于如何安装Angular,这个百度太多了,我来个传送门吧
特意提一下创建新项目

ng new demo --skip-install
使用这个命令创建项目的话,是不在创建的过程中下载依赖的,因为ng命令下载依赖的话会比较慢,项目创建成功后,进入项目目录下使用cnpm install 下载依赖即可

项目接口图:
Angular基础教程+Demo项目——尽可能全面一些——第一节_第1张图片
大概这个意思吧,不常用的话,也记不住这么多,记住几个关键的就可以了。
比如:

src:根目录,存放所有开发的文件;
src/app: 存放组件和模块的文件
src/assets: 存放静态资源文件
src/index.html : 入口页面
src/styles.scss :全局样式
package.json:配置依赖文件

还有下图:
Angular基础教程+Demo项目——尽可能全面一些——第一节_第2张图片
Angular基础教程+Demo项目——尽可能全面一些——第一节_第3张图片
结构介绍大概就是这样,组件主要是由页面(Html),样式(scss/css/less),业务逻辑(ts)组成,Angular的语法偏向于后台逻辑语法,如果有后台开发技术学习起来应该不难理解

创建一个组件并启动项目

创建组件命令:

ng g component components/header

这个意思是创建一个名叫header的组件,它在components的目录下。
Angular基础教程+Demo项目——尽可能全面一些——第一节_第4张图片
命令执行完,如上图所示,我们可以看一下Angular最重要的概念——组件的展示效果,打开header.component.ts查看一下组件的名字叫什么?我这边是app-header
Angular基础教程+Demo项目——尽可能全面一些——第一节_第5张图片
想要看一下这个组件的展示效果,首先在组件的html中输入内容,如下

<h2>我是一个头部组件</h2>

然后清除app.component.html的全部内容(里边原来的内容是Angular自带的欢迎页面),然后在这个页面中使用组件,如下图
Angular基础教程+Demo项目——尽可能全面一些——第一节_第6张图片
这样让我们启动项目,因为我使用的是Webstorm,所以直接使用自带的插件就可以启动了,如果快捷启动的话,可以使用命令

ng serve --open

启动Angular项目,效果如下:
Angular基础教程+Demo项目——尽可能全面一些——第一节_第7张图片

已经展示出来我们组件的内容了,其实Angular很好理解,他的页面就是由一个个组件拼装出来的,他只会启动index.html页面,然后在这个页面中装载根组件,由根组件装载头部组件,这样一个流程

angular html简单语法介绍

Html文件

<h2>我是一个头部组件</h2>


<h1>Angular 数据绑定</h1>
<h3>{
   {
   data}}</h3>
<h3>{
   {
   data1}}</h3>
<h3>{
   {
   data2}}</h3>
<h3>{
   {
   data3}}</h3>
<!--<h3>{
   {
   data4}}</h3>-->
<!--<h3>{
   {
   data5}}</h3>-->
<br>
<br>
<hr/>
<br>
<br>
<h1>Angular 属性绑定</h1>
<input readonly="readonly" [value]="data6">
<br>
<br>
<hr/>
<br>
<br>
<h1>Angular 简单数学运算</h1>
<h3>1+2={
   {
   1+2}}</h3>
<br>
<br>
<hr/>
<br>
<br>
<h1>Angular 数组循环</h1>
<ol>
  <li *ngFor="let item of arr">
    {
   {
   item}}
  </li>
</ol>
<br>
<ul>
  <li *ngFor="let item of arr1;let key = index;">
    {
   {
   item.name}},{
   {
   item.age}}--{
   {
   key}}
  </li>
</ul>
<br>
<ul>
  <li *ngFor="let item of arr2">
    {
   {
   item.name}}
    <br>
    <ol>
      <li *ngFor="let content of item.content">
        {
   {
   content}}
      </li>
    </ol>
  </li>
</ul>

<br>
<br>
<br>
<br>
<br>
<br>
<hr/>
<h1>图片展示</h1>
<img [src]="img" style="max-width: 80px">
<br>
<br>
<hr/>
<br>
<br>
<br>
<br>
<h1>条件判断——ngif,ngswitch</h1>
<div>
  <h3>ngif 展示:</h3>
  <p *ngIf="flag">我是true</p>
  <p *ngIf="false">false</p>
</div>
<div [ngSwitch]="choose">
  <h3>ngswitch 展示:</h3>
  <p *ngSwitchCase="1">我是1</p>
  <p *ngSwitchCase="2">我是2</p>
  <p *ngSwitchDefault>--其实我是个不得已的选择--(~_~)</p>
</div>
<br>
<br>
<hr/>
<br>
<br>
<br>
<br>
<h1>class、style展示,[ngClass]/[ngStyle]</h1>
<h3>ngClass 展示:</h3>
<div [ngClass

你可能感兴趣的:(前端,angular)