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 ...
随机推荐
- js事件学习的小demo
直接上代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> ...
- SpringMVC方法接收参数可以为空、默认值设置
- 【Hibernate那点事儿】—— Hibernate知识总结
前言: 上一篇简单的讲解了下Hibernate的基础知识.这里对Hibernate比较重要的一些知识点,进行总结和归纳. 手码不易,转载请注明!——xingoo 总结的知识点: 1 关于hiberna ...
- C++ 数据库 char 转 wchar_t SQLWCHAR
C++中对数据库的操作感觉太复杂了,不如C#好使,但最近出于某些原因还是学习了一下C++下操作数据库的方法. 如果要想用C++实现对数据库的操作其实很简单,但是如果你需要动态的操作数据库(比如获得用户 ...
- websocket常见错误
当websockt连接是open的时候send()方法传送数据,当连接关闭或获取不到的时候回抛出异常. 一个通常的错误是人们喜欢在连接open之前发送消息.如下所示: // 这将不会工作 var ws ...
- sql server 数据库还原后sa连接不上原因
手动创建了一个同名数据库,然后还原以前或者别人的备份,还原虽然成功了,但是在VS中连接不上,原因可能是: 数据库的所有者中没有添加sa,方法即在数据库名上右击,然后选择文件,在所有者中添加上sa,应该 ...
- vue.js--基础 事件结合双向数据绑定实现todolist,增加和删除功能
原理很简单,写一个input框,定义一个空的list,当在input中增加数据时,就往list中添加数据,然后在循环这个list的数据,删除数据就是调用list中的splice <templat ...
- 什么是微信小程序
官方给的说法是: 微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用 总结发现有这么几点: 1.免安装(不需要单独安装,是依托微 ...
- 2017.9.1 Java中的程序方法
今日内容介绍 1.方法基础知识 2.方法高级内容 3.方法案例 01方法的概述 * A: 为什么要有方法 * 提高代码的复用性 * B: 什么是方法 * 完成特定功能的代码块. 02方法的定义格式 * ...
- P2852 [USACO06DEC]牛奶模式Milk Patterns
link 这是一道后缀匹配的模板题 我们只需要将height算出来 然后二分一下答案就可以了 #include<cstdio> #include<algorithm> #inc ...