vue-02-安装-指令
1, vue安装
1), 安装vue-cli
- npm install -g cnpm --registry=https://registry.npm.taobao.org
- 之后可以用 淘宝的npm镜像安装
cnpm install vue-cli -g
# -g 等价于 --global
2), 初始化项目, 创建基于webpack的模版
- vue init webpack lisa-yoga-baby
路由: n, Eslink(代码检查): n, test: n, Nighwatch: n
3), 进入项目
- cd lisa-yoga-baby
4), 安装依赖, 根据package.json安装
- npm install
5), 启动项目
- npm run dev
6), 打包
- npm run build
2, 项目目录结构
index.html: 项目根目录视图
.postcssrc.js postcss 配置文件
static: 静态文件目录, 服务器启动后可以直接访问到
src: 源码文件
config: 配置文件
build: 服务器到配置文件
3, 模板语法:
Mustache: 模板
表现形式: {{ 语法 }}
- {{ hello }}
- 通过下面的 script进行返回
- <script>
- export default {
- name: 'HelloWorld',
- data() {
- return {
- msg: 'Hello Vue'
- }
- }
- }
- </script>
2), 可以做运行
- {{ + }}
- {{ < ? "true" : "false" }}
3), 只能存在单行语句
4, vue组件, 包含3个内容
1), 视图部分
- <template>
- <div class="hello">
- {{ msg }}
- </div>
- </template>
2), 逻辑部分
- <script>
- export default {
- name: 'HelloWorld',
- data() {
- return {
- msg: 'Hello Vue'
- }
- }
- }
- </script>
3), 样式部分
- <style scoped>
- h1, h2 {
- font-weight: normal;
- }
- ul {
- list-style-type: none;
- padding: ;
- }
- li {
- display: inline-block;
- margin: 10px;
- }
- a {
- color: #42b983;
- }
- </style>
5, 基本命令
指令的简写形式 v-bind:key=‘’ 简写为 :key=‘’
1), v-text
- <p v-text="msg">text</p>
- <script>
- export default {
- name: 'HelloWorld',
- data() {
- return {
- msg: '<p>Hello Vue</p>',
- flag: ' i am flag'
- }
- }
- }
- </script>
不能解析html标签, 原样输出
2), v-html
- <div v-html="msg"></div>
解析标签为 html的元素
3), v-bind 绑定
- <span v-bind:class="bind_ha">hahaha a</span>
- <script>
export default {
name: 'HelloWorld',
data() {
return {
msg: '<p>Hello Vue</p>',
flag: ' i am flag',
bind_ha: "ha111"
}
}
}
</script>
可通过 v-bind, 更改 html标签的 内置属性
双花括号 {{ }} 不可以用来更改html的内敛标签
4), v-if 条件渲染
- <!--v-if 属性-->
- <div>
- <p v-if="show">if can see</p>
- <p v-else-if="show"> else if can see </p>
- <p v-else="!show">else can see </p>
- </div>
- <script>
- export default {
- name: 'HelloWorld',
- data() {
- return {
- msg: '<p>Hello Vue</p>',
- flag: ' i am flag',
- bind_ha: "ha111",
- show: false
- }
- }
- }
- </script>
5), v-show 和v-if 类似, 但没有else
- <div>
- <p v-show="show"> show can see </p>
- </div>
v-if 是惰性的, v-show总是被渲染, 且基于css 进行切换
频繁切换使用 v-show
6), v-for 循环渲染, 针对数组进行渲染
- <!--v-for-->
- <div>
- <ul>
- <li v-for="(name, index) in names" v-bind:index="index">{{ name.name }} : {{ name.age }}</li>
- </ul>
- </div>
使用 v-for进行遍历, 使用 v-bind 进行name, id之类的绑定
- <script>
- export default {
- name: 'HelloWorld',
- data() {
- return {
- msg: '<p>Hello Vue</p>',
- flag: ' i am flag',
- bind_ha: "ha111",
- show: false,
- names: [{name: 'vini', age: }, {name: 'wenbronk', age: ''}, {name: 'lisa', age: ''}]
- }
- }
- }
- </script>
7), v-on: 事件监听
简单事件
- <div>
- <button v-on:click="num += 1"> 按钮</button>
- <p> {{ num }}</p>
- </div>
- <script>
num: 1, </>
事件参数: methods:
- <!--methods -->
- <div>
- <button v-on:click="handlerClick"> methods 按钮 </button>
- </div>
放在data的同级下
- <script>
- export default {
- name: 'hello',
- data() {
- return {
- names: [{name: 'vini', age: }, {name: 'wenbronk', age: ''}, {name: 'lisa', age: ''}],
- num: ,
- }
- },
- handlerClick() {
alert("事件1 ")
// 去上面data的值, this索引当前data中的数据
this.show = !this.show
}
- } </script>
事件修饰符:
.stop 阻止时间冒泡
.prevent 阻止事件
.capture
.self
.once 只生效一次
只需要在 on.click后添加, 即可
- <li v-on:click.once="getItemInfo(index, $event)" v-for="(name, index) in names">{{ name }}</li>
键盘监听:
- <div>
- <input type="text" v-on:keyup="getKeyInfo"/>
- <!--只有enter才会监听-->
- <input type="text" v-on:keyup.enter="getKeyInfo"/>
- </div>
- methods: {
- getItemInfo(index, event) {
- console.log(this.names[index]);
- console.log(event);
- },
- getKeyInfo(event) {
- console.log(event.keyCode)
- console.log(event.key)
- }
- }
此外还提供了例如
.enter, .tab .delete .esc .space .up .down .left .right 等多个快捷监听,
只有相应的按键才会被触发
- <input type="text" v-on:keyup.enter="getKeyInfo"/>
8), 数组动态更新
数据变化可以引起视图的变化
- <div>
- <button v-on:click="pushArr">pushArr</button>
- </div>
- pushArr() {
- this.names.push("wenbronk")
- }
但有些方法无法引起视图的变化
filter, concat, split等
不会修改原数组变化
方法的简写
@ 代替 v-on:
6, 计算属性
1), 如果一个methods在多个地方需要调用, 可以使用计算属性
但计算属性相对于methods, 可以进行缓存结果, 多次访问 methods可以立刻返回缓存结果
- computed: {
- msgRe() {
- return this.message.split('').reverse().join('');
- }
- }
- <!--观察这-->
- <div>
- <p> {{ msgRe}}</p>
- </div>
2), 表单计算绑定 v-model
双向数据绑定
使输入的内容可以立刻获取
- <!--表单数据绑定, 数据立马显示在下面-->
- <div>
- <input type="text" v-model="msg"/>
- <p> {{ msg }}</p>
- </div>
script
- export default {
- name: "a03_computed",
- data() {
- return {
- message: "hello every body",
- msg: ""
- }
- },
如果要实时监听数据
- data() {
- return {
- message: "hello every body",
- msg: ""
- }
- },
- methods: {},
- computed: {
- msgRe() {
- return this.message.split('').reverse().join('');
- // return this.message.split('').reverse().concat('');
- }
- },
- watch: {
- msg: function (data) {
- console.log(data + " data 就是你输入的额信息")
- }
- }
在data同级 加 watch
3), 修饰符
lazy, 失去焦点了在使用, v-model.lazy='msg'
number, 转换为number类型的时候, 才处理
.trim,
vue-02-安装-指令的更多相关文章
- 02: vue.js常用指令
目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...
- Vue指令02——v-on指令和v-show的使用
Vue指令02--v-on指令和v-show的使用 v-on指令 格式1:v-on:事件="方法" 格式2:@事件="方法" 格式3:@事件="方法( ...
- vue+webpack 安装常见插件
html-webpack-plugin 插件地址:https://www.npmjs.com/package...安装指令: npm install html-webpack-plugin --sav ...
- Vue基础01vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令
自学vue框架,每天记录重要的知识点,与大家分享!有不足之处,希望大家指正. 本篇将讲述:vue的基本示例,vue的双向数据绑定,vue中常见的几种用法,vue相关常见指令 前期学习基础,使用vue. ...
- 新人成长之入门Vue.js常用指令介绍(一)
写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...
- Vue.js 安装及其环境搭建
For me or other first studying vue.js. For Windows PC: 1.先安装node.js 安装官网最新的即可 版本应该要大于6.0版本 nodejs的官网 ...
- 【转载】Vue.js 安装及其环境搭建
注:最近在学习Vue,以下是环境搭配方法: ****************************************************************************** ...
- v-debounce-throttle是一个vue防抖节流指令
v-debounce-throttle是一个vue防抖节流指令 简介 v-debounce-throttle是一个vue防抖节流指令,控制单一事件的触发频率.其核心是拦截组件元素的v-on绑定事件,采 ...
- star ccm+ 11.02安装
STAR CCM+是CD-Adapco公司的主打软件,其安装方式较为简单,这里以图文方式详细描述STAR CCM+11.02安装过程. 1 安装准备工作2 正式安装3 软件破解4 软件测试 1 安装准 ...
- LoadRunner 12.02 安装以及汉化教程
LoadRunner 12.02 安装 一.下载 首先下载Loadrunner12安装包. 下载后有四个安装包: HP_LoadRunner_12.02_Community_Edition_Addit ...
随机推荐
- Django contenttypes 应用
Django contenttypes 应用 什么是Django ContentTypes? Django ContentTypes是由Django框架提供的一个核心功能,它对当前项目中所有基于Dja ...
- mysql找到数据的存储位置
本来是想找mysql数据库文件中的sql脚本文件的,结果发现运行了sql脚本文件后,你删除了,就没有sql语句了,那么我们分析一下在数据库路径下面找到的文件又是什么呢? 1.先找mysql中data的 ...
- SQLite 安装
Windows 平台安装 下载地址:https://www.sqlite.org/download.html 下载预编译的安装包 将下载的安装包=解压到一个文件夹,有三个重要文件: sqlite3.e ...
- 文字创作类App分享-简书
今天我用Mockplus做了一套简书App的原型,这是一款文字创作类的App,用户通过写文.点赞等互动行为,提高自己在社区的影响力,打造个人品牌.我运用了Mockplus基础组件.交互组件.移动组件等 ...
- MSSQL语句学习(查询表的总记录数)
如何高效查询表的总记录数(通用方法) SELECT COUNT(1) ROWS FROM product 野路子1:利用系统自带的存储过程SP_SPACEUSED,详细的使用方式推荐谷哥或度娘, EX ...
- ScheduledExecutorService--目前最理想的定时任务实现方式
ScheduledExecutorService 理想的定时任务实现方式 : 通过线程池的方式来执行任务的 可以灵活的设定第一次执行任务延迟时间 提供了良好的约定,以便设定定时执行的间隔时间代码实现: ...
- P3379 【模板】最近公共祖先(LCA)(树链剖分)版
#include <bits/stdc++.h> #define read read() #define up(i,l,r) for(register int i = (l);i < ...
- AI for VS ,美团创新之处分析
微软在2017中发布了VS Tools for AI,旨在提升用户对于深度学习的需求体验.AI组件可以让我们迅速构建和训练深度学习的Project,其功能主要有开发,调试和部署深度学习和人工智能的解决 ...
- php中 curl, fsockopen ,file_get_contents 三个函数
赵永斌:有些时候用file_get_contents()调用外部文件,容易超时报错.换成curl后就可以.具体原因不清楚curl 效率比file_get_contents()和fsockopen()高 ...
- 卷积在深度学习中的作用(转自http://timdettmers.com/2015/03/26/convolution-deep-learning/)
卷积可能是现在深入学习中最重要的概念.卷积网络和卷积网络将深度学习推向了几乎所有机器学习任务的最前沿.但是,卷积如此强大呢?它是如何工作的?在这篇博客文章中,我将解释卷积并将其与其他概念联系起来,以帮 ...