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 ...
随机推荐
- sqlserver row_number函数的用法
ROW_NUMBER()函数将针对SELECT语句返回的每一行,从1开始编号,赋予其连续的编号 必须和over一起使用 select *,ROW_NUMBER() over(order by prod ...
- day4-基础 字符串操作,文件操作,字符转编码
1.字符串用法 name = 'daniel' print(name.capitalize()) #首字母大写 >>>daniel print(name.count('a')) #统 ...
- Codeforces Round #429
Table of Contents A. Generous KefaB. GodsendC. Leha and Function A. Generous Kefa One day Kefa found ...
- 「SDOI2008沙拉公主的困惑」
题目 看着有点可怕 求 \[\sum_{i=1}^{n!}[(i,m!)=1]\] 考虑一下\(m=n\)的时候的答案 非常显然就是\(\varphi(m!)\) 而如果\(n>m\) 非常显然 ...
- 2017.9.2Java中的自定义类型的定义及使用&&自定义类的内存图
今日内容介绍 1.自定义类型的定义及使用 2.自定义类的内存图 3.ArrayList集合的基本功能 4.随机点名器案例及库存案例代码优化 01引用数据类型_类 * A: 数据类型 * a: java ...
- MVC学习三:Razor视图引擎
1.Razor视图引擎,主要是把View的HTML代码编译到View视图类对象中
- 取火柴游戏||Nim博弈
好久之前看的sg函数了 好像就记住一个nim博弈qwq 第一次啊看的时候很迷,现在感觉可以了qwq 首先我们来看一个其他的游戏.(以下游戏只有两个人参与,且足够聪明) 两个人在一张圆形的桌子上放等大的 ...
- MYSQL添加外键关联
SELECT * from stu st,course co,score sc where st.sid = sc.sid and sc.cid = co.cid 如果我们要给 sid 做一个约束,即 ...
- JavaScript的原型(prototype、__proto__、constructor)
构造函数:function Foo() {}; 实例对象: let f1 = new Foo; let o1 = new Foo; 一般函数都有prototype属性,除了window.Math和Fu ...
- App 分辨率相关 - iOS
针对现有 Apple 设备分辨率小归总,方便日常查看; 顺便推荐一款图片生成工具,个人感觉挺方便好用,放置一张高分辨率大图可自动生成一套配图,软件名称(App Icon Gear). 具体设备分辨率如 ...