vue---day04
1. Node.js
1.1 介绍:
- Node.js 是一个JavaScript运行环境,实质上是对Chrome V8引擎的封装。
- Node.js 不是一个 JavaScript 框架,不同于Django。Node.js 更不是前端的库,不能与 jQuery、ExtJS 相提并论。
- Node.js 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHP、Python、Perl、Ruby 等服务端语言平起平坐的脚本语言。
1.2 安装:
直接去官网下载安装 https://nodejs.org/en/
1.3 运行测试
开始 -> 运行 -> cmd -> Enter
查看版本:node --version
打开:node
测试:console.log('Hello node')
退出:.exit
2. npm
2.1 介绍
任何计算机编程语言都包含了丰富的第三方库,比如Python,pip是python的第三方库管理工具。而npm是JavaScript这么语言的第三方库管理工具。
2.2 检测
装好node.js之后,默认已经安装好了npm包管理工具。可以输入npm命令机械能测试。
2.3 基本命令
- 初始化:
npm init --y
- 安装:
全局:npm install -g <package>
局部:
npm install <package> --save
npm install <package> --save-dev
- 卸载
全局:npm uninstall <package> -g
局部:
npm uninstall <package> -S
npm uninstall <package> -D
3. vue-cli
3.1 安装
npm install -g vue vue-cli
3.2 新建项目
3.2.1 初始化
vue init webpack mydemo
3.2.2 根据提示输入:
Project name mydemo
? Project description A
? Author
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recommended) npm
3.2.3 根据提示启动
cd mydemo
npm run dev
3.3 运行
I Your application is running here: http://localhost:8080
浏览器访问127.0.0.1:8080
4. vuex
4.1 安装使用
- 第一步:Vue中使用Vuex
Vue.use(Vuex);
- 第二步:实例化一个store对象
let store = {
state:{
name:'python',
},
};
- 第三步:通过计算属性来获取store对象中的数据
let App = {
template:`
<div>
<h1>{{ name }}</h1>
</div>
`, computed:{
name(){
return this.$store.state.name
},
},
};
- 第四步:注册到根实例当中
new Vue({
el:"#app",
template:`<App/>`,
components:{
App,
},
store:store,
);
4.2 getters:获取
let store = new Vuex.Store({
state: {
name: '子牙',
age:22,
},
getters:{
getAge(state){
return state.age + 10
}
},
});
let App = {
template: `
<div>
<h1>{{ name }}</h1>
<h1>{{ age }}</h1> </div>
`,
computed:{
name(){
return this.$store.state.name;
},
age(){
return this.$store.getters.getAge;
},
},
};
4.3 mutations:修改
let store = new Vuex.Store({
state: {
name: '子牙',
age: 22,
score: 88,
},
getters:{
getAge(state){
return state.age + 10
}
},
mutations:{
changeScore(state,payload){
this.score += payload
}
},
});
let App = {
template: `
<div>
<h1>{{ name }}</h1>
<h1>{{ age }}</h1>
<h1>{{ score }}</h1> <button @click="changeScore">点击修改分数</button>
</div>
`,
computed:{
name(){
return this.$store.state.name;
},
age(){
return this.$store.getters.getAge;
},
score(){
return this.$store.state.score;
}
},
methods:{
changeScore(){
this.$store.commit('changeScore',2)
}
}
}; 4.4 actions:
let store = new Vuex.Store({
state: {
name: '子牙',
age: 22,
score: 88,
},
getters:{
getAge(state){
return state.age + 10
}
},
mutations:{
changeScore(state,payload){
this.score -= payload
},
addScore(state,payload){
this.score += payload
},
},
actions:{
addScore(context,payload){
setInterval(() => context.commit('addScore',payload),3000);
}
},
});
let App = {
template: `
<div>
<h1>{{ name }}</h1>
<h1>{{ age }}</h1>
<h1>{{ score }}</h1> <button @click="changeScore">点击修改分数</button>
<button @click="addScore">点击增加分数</button>
</div>
`,
computed:{
name(){
return this.$store.state.name;
},
age(){
return this.$store.getters.getAge;
},
score(){
return this.$store.state.score;
}
},
methods:{
changeScore(){
this.$store.commit('changeScore',2)
},
addScore(){
this.$store.dispath('addScore',1)
}
}
};
vue---day04的更多相关文章
- day04之VUE痛悟
vue组件组件分为三部分
- vue学习-day04(路由)
目录: 1.组件传值-父组件向子组件传值和data与props的区别 2.组件传值-子组件通过事件调用向父组件传值 3.案例:发表评论.使用ref获取DOM元素和组件引用 ...
- Vue 基础 day04
什么是路由 后端路由: 对于普通的网站,所有的超链接都是URL地址,所有的URL地址都对应服务器的资源: 前端路由: 对于单页面应用程序来说,主要是通过URL中的hash(#)来实现不同页面之间的跳转 ...
- vue大型电商项目尚品汇(前台篇)day04
这几天一直都在做项目,只是没有上传上来,即将把前台项目完结了.现在开始更新整个前台的部分 一.面包屑处理 1.分类操作 点击三级联动进入搜索产生面包屑,直接取参数中的name即可 点击x怎么干掉这个面 ...
- vue大型电商项目尚品汇(后台篇)day04
昨天太晚就没来得及更新,今天是spu管理界面,这个界面一共有三个界面需要切换,完成了两个界面,而且今天的难度在于最后两个章节,富有一定的逻辑性,当然中间也有很多需要注意的,比如ElementUI的照片 ...
- vue脚手架安装
1. 脚手架: 如何: 1. 安装脚手架的工具命令: npm i -g @vue/cli 电脑安装完命令后 : 直接创建 vue create 文件夹名字 2. 用命令反 ...
- vue_shop(基于vue电商管理后台网站)
vue_shop 目录 vue_shop day01 实现登录功能 项目预开发处理 Login.vue完整代码: 处理步骤: 添加element-ui的表单组件 添加第三方字体: 添加表单验证 导入a ...
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
随机推荐
- HDU2054:A == B ?
A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- WIN7系统程序放在中文文件夹打开报错及界面汉字变乱码
今天发现在一个服务商提供的设备的WIN7系统里,一个稳定运行的程序打开时报错,且界面汉字变乱码. 经测试发现程序放在英文名称的文件夹中可以正常打开,但界面上的汉字仍为乱码. 后检查“控制面板“--”区 ...
- bzoj 1597 斜率DP
1597: [Usaco2008 Mar]土地购买 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 5115 Solved: 1897[Submit] ...
- 2017.9.12 初入HTML -----学习总结(二)
接上:..... (4)标记可分为: 4.1单标记:(单标记仅单独使用就可以表达完整的意思) 基本语法:<标记名称/> 例如:<br/>实现换行的功能.<hr/>实 ...
- 学校管理系统设计java(数据库、源码、演讲内容、ppt等)
该系统使用java语言编写 获取班级项目展第二名 项目展示:https://www.bilibili.com/video/av27910081/?p=10 登录截图 git:https://githu ...
- P4722 【模板】最大流
P4722 [模板]最大流 加强版 / 预流推进 今日心血来潮,打算学习hlpp 然后学了一阵子.发现反向边建错了.容量并不是0.qwq 然后就荒废了一晚上. 算法流程的话.有时间补上 #includ ...
- P1666 前缀单词
P1666 前缀单词 tire树上跑dp 首先将trie树建出来,然后对于每个节点.考虑他的子节点. 子节点的方案数都互不干扰,所以子节点与其他子节点的的方案数可以利用乘法原理算出来. 然后如果这个节 ...
- Openresty最佳案例 | 第9篇:Openresty实现的网关权限控制
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616779 本文出自方志朋的博客 简介 采用openresty 开发出的api网关有很多 ...
- ssm整合实现注册与登录功能
最简洁易懂的SSM整合源码都在这里了 激情提示: 1.本项目是用IDEA编写的,不管你是习惯何种ide工具,那也只是工具而已,源代码才是本质 2.本项目只拥有注册和登录功能,简易的功能和详细的注释,是 ...
- Java程序如何生成Jar 执行文件(1)
一.用Eclipse生产Jar文件 注意:此方法只能打包简单程序,不包含含有第三方jar包的项目 首先,看一下我的项目的目录结构: 1,项目名字上面点右键,选择Export,在选择java\JAR f ...