美文网首页
用Augnlar写个小项目

用Augnlar写个小项目

作者: 小新子666 | 来源:发表于2017-11-29 20:59 被阅读0次

1、创建项目

(1)在命令窗口:ng new 项目名
(2)在WebStrom中File=>New=>project=>Angular CLI
比较慢,需要耐心等待;

新建项目

2、新建组件(head和message)

  • ng g component head
  • ng g component message
新建组件

3、在app文件夹下会生成head文件夹和message文件夹

head组件和message组件
  • 分别在head.component.htmlmessage.component.html中写各自的html布局
  • 分别在head.component.cssmessage.component.css中写各自的css样式
在head.component.ts和message.component.ts中已经分别定义了各自的组件标签名app-head和app-message,然后把这两个标签写进app.component.html中,就可以显示在head.component.htmlmessage.component.html中写的内容了
app.component.html 浏览器运行结果

4、因为消息不是确定的,是后台给你的,要在message.component.ts文件中的得到数据,然后在渲染到页面message.component.html。

message.component.ts

message.component.ts文件里写代码非常的严格(少个空格都会错,只能用单引号),可以在tslint.json文件里查找whitespace和quotemark:


修改设置
message.component.html 浏览器运行结果

5、路由

由于Angular是一个SPA(single page application)应用,即主页面只加载一次,不在刷新只是改变页面上部分内容的应用,又称为单页应用。所以就用到了路由

  • 新建组件(详情页面)
    ng g component messagedetail
  • 需要在app.module.ts中配置路由信息,如图:
app.module.ts
  • 不同的路由展示不同的文件
    (1)在app.component.html页面写个a标签,点击进入详情页:
app.component.html 页面

(2)在message.component.html页面添加点击事件,点击进入详情页:

message.component.html message.component.ts

当我们点击进入详情页之后,会在地址栏显示localhost:4200/detail;我们可以直接在这拼上/dizhi,但有的我们没有配置,就会什么也不显示还会报错,是个不友好的体验,所以我们可以新建一个页面,页面丢失了
ng g component default

app.module.ts

6、如何导入第三方库(例导入jquery)

(1)第一步下载:
cnpm install jquery --save
--save是生产环境(上线之后叫生产环境)
--save-dev是开发环境(上线之前叫开发环境)

下载jquery

下载好之后:
在package.json中的"dependencies"中有'jquery'依赖
在node-modeles文件夹下有jquery包

image.png

(2)在angular.cli.json 文件中配置"scripts:[jquery.js的路径]"

angular.cli.json
当我关闭项目,在ng serve 的时候,报错了,打不开,说是找不到jquery.js文件,然后我改了一下这个路径 :../node_modules/jquery/dist/jquery.js 就可以了

(3)在核心组件app.component.ts中写jq代码看支持不:答案是不可以的,因为jq是.js文件,这是.ts文件;还需要下载转一下:
cnpm install @type/jquery --save-dev
然后在tsconfig.app.json文件夹下,设置一下"types":["jquery"]

tsconfig.app.json

好了,这样就可以使用jq写代码了;

app.component.html app.component.ts

7、路由传值(两种方式)

(1)第一种方式

  • 在app.module.ts中配置路由信息的时候,定一个参数:id;
app.module.ts
  • 在app.component.html中用routerLink传值:
app.component.html
  • 在messagedetail.component.ts中接收数据;
messagedetail.component.ts

(2)第二种方式,点击的时候动态的传值

  • 在message.component.html中点击事件中传值;
message.component.html
  • 在app.module.ts中配置路由信息的时候,定一个参数:title
app.module.ts
  • 在message.component.ts里的showDetail()方法中接收数据,传给路由;
message.component.ts
  • 在messagdetail.component.ts中接收数据,就可以在.html中展示数据;
messagdetail.component.ts

8、如何从服务器获取数据

  • 在app.module.ts里配置Http模块
app.module.ts
  • 在assets文件下新建myData.json文件,设置数据,供下面使用,到实际开发中,这些数据都是后台给的
myData.json
  • 在message.component.ts里获取本地数据;
message.component.ts

相关文章

  • 用Augnlar写个小项目

    1、创建项目 (1)在命令窗口:ng new 项目名(2)在WebStrom中File=>New=>project...

  • vite + eslint + airbnb初体验

    最近写个人vue项目,最开始用的@vue/cli,起初项目规模小时还好,可是随着项目规模的增大,webpack打包...

  • 【教程】用axure写个小地图

    在设计产品原型时,经常会遇到调用地图的交互。 一般情况下,我们会这样做: 在原型稿地图位置,用图片组件占位,然后标...

  • 用Canvas自己写个小画板

    首先写好触摸开始, 触摸移动, 结束触摸事件 定义全局接收变量 创建 canvas 绘图上下文 获取到用户的手...

  • js小练习—调色板

    用js的小知识写个调色板,如下图: 代码如下:

  • flutter练手项目-玩Android

    引言 学习了两周的Flutter,准备写个小项目练练手,正好洪洋的玩Android有免费的Api可以用,就写个简易...

  • 使用UISearchController UITableView

    在项目中突然想把以前的搜索改成UISearchController,随便写个demo用着挺爽,没想到用的项目中会这...

  • UIWebView全部区域截图保存为UIImage或者PDF

    公司项目需求,需要生成电子合同表单。用WebView显示加载出来。故写个UIWebView扩展,代码如下。 ///...

  • Idea Gradle项目没有建基础目录

    最近写个小程序作为命令使用,这时需要建立简单的 java 项目。 问题 通过 File -> New Proje...

  • 写个小文

    不管不管,就是想发一下自拍,哈哈哈 最近变深层了一丢丢,每天默念一句我是一个说话慢悠悠的淑女,相信自己有一天会变得...

网友评论

      本文标题:用Augnlar写个小项目

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