复习node.js 需要注意知识点--(重点)

2.1:参数传递获取造型

客户端脚手架(发)    (参数传递)    node.js(收)

-发ajax  this.axios.get("http://127.0.0.1:3000/list?id=9&age=19")

-收 node.js   req(request 请求对象)

var id  = parseInt(req.query.id);

var age = parseInt(req.query.age);

错误:node.js  NaN 参数错误

2.2:完成一个功能使用哪条SQL  node.js

(1)登录:

-参数:用户名密码 uname upwd

-sql:SELECT uname,upwd FROM xz_login

WHERE uname = ? AND upwd = md5(?)

用户名或密码错 result.length == 0

(2)商品列表(分页):

-参数:pno 页码 pageSize 页大小

-sql SELECT id,img_url,price,title FROM xz_product

LIMIT ?,?

? (pno-1)*pageSize

? pageSize

-sql SELECT count(id) FROM xz_product;

Math.ceil(20/pageSize); 向上取整

(3)购物车:

(0)列表  SELECT id,name,price,title,count FROM xz_cart;

(1)添加

参数:pid 商品编号 price 商品价格 count 数量

-查询当前商品是否在购物车中

SELECT id FROM xz_cart WHERE pid = ?

-如果商品己经存在 更新数量

UPDATE xz_cart SET count = ? WHERE id = ?

-如果商品不存在   添加

INSERT INTO xz_cart VALUES(null,pid,price,count,now())

(2)计算合计 脚手架计算属性

(3)修改(购物车中商品数量)

参数:id购物车项目id  count 数量

sql:UPDATE xz_cart SET count = ? WHERE id = ?

(4)删除[多选]

参数:uid 谁的购物车 id=1,2,3

字符串拼接   1,2,3

sql:DELETE FROM xz_cart WHERE id IN (1,2,3)

(5)创建订单:

-参数:uid 购物车用户id

-查询购物车中数据 SELECT id,uid,price FROM xz_cart;

-添加订单表       INSERT INTO xz_order VALUES(?,?....)

2.3:node.js 非阻塞[高效 无序] 如果有功能需要严格顺序

sql1

pool.query(sql1,(err,result)=>{

//sql1 一定执行结束 结果

sql2

pool.query(sql2,)

});

3:学子商城--新闻列表

查看昨天项目 xampp node.js vue-cli

3.1:修改脚手启动时显示Home 组件

默认脚手路径 http://127.0.0.1:8080/#/

{path:'/',component:HelloContainer},

修改:当脚手架访问 / 让浏览器自动将地址 /修改/Home

功能: 跳转

{path:'/',redirect:'/Home'}

{path:'/Home',component:Home},

3.2:修改App.vue  组件

4:学子商城--新闻列表

4.1:创建按钮 "加载更多..." mint-ui

-import {Button...} from "mint-ui"

-Vue.component(Button.name,Button);

-<mt-button type="primary" size="large">加载更多...</mt-button>

4.2:创建过滤器 格式化日期对象 创建全局过滤器

-创建过滤器main.js

Vue.filter(过滤器名称,function(val){

-依据参数创建日期对象

-年 月  日  小时 分 钟 秒

-返回字符串 Y-M-D h:mi:s

});

-调用过滤器组件模板

{{item.ctime | 过滤器名称}}

4.3: 点击按钮 "加载更多..." 查看下一页

-为加载更多按钮绑定点击事件

-创建函数加载更多 {下一页}

-遇到问题:显示下一页内容上页内容覆盖

希望保存上一页内容

this.list = [];

this.list = result.data.data;

var rows = this.list.concat(result.data.data);

this.list = rows;

5:学子商城--商品列表

5.1:分析查询表

-查询当前页内容

xz_laptop      商品表

xz_laptop_pic   商品图片表

商品编号 商品标题   商品价格  商品图片

lid       title        price      md

(1)查询表保存在 FROM后

(2)为每张表创建别名

(3)查找两张表哪列有关联的   = <= >=

SELECT l.lid,l.title,l.price,p.md

FROM xz_laptop l,xz_laptop_pic p

WHERE l.lid = p. laptop_id

GROUP BY l.lid

LIMIT ?,?;

app.js

5.2:脚手架

-创建空组件   src/components/goods/GoodList.vue

-配置访问路径  /GoodsList

-测试

-设置布局

调错/添加按钮/添加点击事件

常见错误

(1) net::ERR_CONNECTION_RESET   node.js程序出错停止工作

解决:查看node.js 控制台出错信息

(2)error in your SQL syntax

原因:sql语法写错了

node.js 需要注意知识点的更多相关文章

  1. Node.js的基础知识点

    一,语言 和 环境(平台) 之间的关系 1,浏览器环境 中的 Javascript 浏览器中 Javascript 的组成部分 ECMAScript核心 + DOM + BOM 2,Node环境 中的 ...

  2. Node.js的知识点框架整理

    背景:因为appium是基于Node.js的,所以想看一下Node.js.但是发现很多资料的顺序看起来有点颠倒.然后就一面看资料一面整理了一下大概的知识点框架,希望对自己对别人有用. 本文不包含nod ...

  3. Node.js知识点学习

    Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期 ...

  4. Node.js实用知识点

    本文介绍如何使用nodejs 简单的HttpServer 调试nodejs 基础路由 nodejs配置开发和生产环境 nodejs核心模块一览 express用法 文件I/O nodejs模块 nod ...

  5. Node.js知识点详解(一)基础部分

    转自:http://segmentfault.com/a/1190000000728401 模块 Node.js 提供了exports 和 require 两个对象,其中 exports 是模块公开的 ...

  6. Node.js:Buffer浅谈

    Javascript在客户端对于unicode编码的数据操作支持非常友好,但是对二进制数据的处理就不尽人意.Node.js为了能够处理二进制数据或非unicode编码的数据,便设计了Buffer类,该 ...

  7. 我的Node.js处女作

    前言 很高兴我的node.js处女作开发完成了,目前还在优化完善阶段,经历两周的紧张沟通和开发,工作总算搞一段落.选用node.js 一是因为这次的业务逻辑相对来说简单想拿node练练手,二就是相对来 ...

  8. Node.js 爬虫初探

    前言 在学习慕课网视频和Cnode新手入门接触到爬虫,说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherrio. 使用http直接获取url路 ...

  9. Node.js 自学之旅

    学习基础,JQuery 原生JS有一定基础,有自己一定技术认知(ps:原型链依然迷糊中.闭包6不起来!哎!) 当然最好有语言基础,C#,java,PHP等等.. 最初学习这个东西的原因很简单,在园子里 ...

随机推荐

  1. 洛谷NOIp热身赛 T2123 数列游戏

    题目背景 此题为改编题,特别鸣谢倪星宇同学. 有一次,HKE和LJC在玩一个游戏. 题目描述 游戏的规则是这样的:LJC在纸上写下两个长度均为N的数列A和B,两个数列一一对应.HKE每次可以找两个相邻 ...

  2. JVM参数的配置及意义

    JVM参数设置.分析 因为在工作中遇到了JVM参数的配置,不明白,网上搜索发现一篇好文,转载至:https://www.cnblogs.com/redcreen/archive/2011/05/04/ ...

  3. nginx::配置https/反向代理

    vim /etc/nginx/nginx.conf user nginx; worker_processes ; error_log /var/log/nginx/error.log warn; pi ...

  4. jhipster入门

    环境: 阿里云linux /////////////////////////////////////////////////////////////////////yum install java-1 ...

  5. 使用JRebel插件实现SpringBoot应用代码热加载

    前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果.那么有没有一种方式能够快速的.自动的帮我们将修改代码自动更新,避免手动重启,从而提高开发效率呢?是有的,在我之前的文章里面 ...

  6. 下载达 10 万次的 IDEA 插件,K8s 一键部署了解一下?

    作者 | 铃儿响叮当 导读:涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,本文将给大家讲解:对于容器服务 ACK,怎么实现真正"一键部署",提高开发部署效率,在 K ...

  7. Core3.0的 安装与坑坑坑!!!

    Core3的 SDK下载地址是:https://dotnet.microsoft.com/download/dotnet-core/3.0  ! 不要下载preview8!!!,请先下载 previe ...

  8. Android Studio配置Socks5代理后Gradle运行不正常

    第一次在Mac上运行Android Studio,遇到了一系列问题,其中一个代理问题搞得我是不知所措,在此记录. 如果你遇到了如下图的问题,那么恭喜你你可能已经找到了解决方案也就是本文: 一般,我们为 ...

  9. SQLAlchemy的基础使用

    一.ORM 与 SQLAlchemy 简介 ORM 全称 Object Relational Mapping, 翻译过来叫对象关系映射.简单的说,ORM 将数据库中的表与面向对象语言中的类建立了一种对 ...

  10. swift 实现iOS手势密码、指纹密码、faceID

    本博客包含了如何实现iOS手势密码.指纹密码.faceID全步骤,包括了完整的代码. 先附上demo地址https://github.com/Liuyubao/LYBTouchID,支持swift3. ...