指令:v-xx组成的特殊指令,如果一个标签中有指令会默认替换原有的书

    v-model:实现数据和视图的双向绑定
v-text:在元素中插入值
v-html:在元素中插入标签或者插入文本
v-if:根据表达式的真假值来动态的插入或者是移除元素
v-else:与if配套使用
v-show:根据表达式的真贱动态来显示或者隐藏
v-for:根据变量的值来循环渲染元素 v-for=“(item,index) in arr”
- for循环可以是数组,对象,数字,字符串等等。
v-on:监听元素事件,并执行响应的操作
- v-on:click=“func”=@click="func" this的操作
- 数组的操作:push,pop,shift,unshift,splice,reverse
v-bind:绑定元素的属性的执行响应的操作;
- v-bind:href=“URL”=:href="URL" 动态的东西使用v-bind绑定,
  修饰符:以.开头的指令的特殊绑定方式吗,
  .prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault()
  在表单操作中经常用到v-on.submit.prevent

常用指令示范:

v-bind的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<style>
.btn{
background-color: cadetblue;
width: 100px;
height: 100px;
}
</style>
<body>
<div id="app">
<a v-bind:href="url">点我有惊喜</a>
<input type="button" v-bind:value="but">
<div v-bind:class="{btn:isactive}"></div> <!--用对象的方式调用,key代表对象名字,value代表在什么时候调用-->
<div v-bind:class="klass"></div> <!--直接调用-->
</div> <script>
var obj = new Vue({ //赋予它一个obj来接收主要是为了在终端中操作的方便
el:"#app",
data:{
url:"https://www.baidu.com",
but:"点我啊啊啊啊",
klass:"btn",
isactive:true
}
})
</script>
</body>
</html>
v-for的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<!--<ul>-->
<!--<li v-for="food in foodlist">{{food}}</li>-->
<!--</ul>-->
<ul>
<li v-for="food in foods">{{food.name}}:
¥{{food.discount ? food.price*food.discount : food.price}}
<!--如果有discount的话就执行?后边的,如果没有就执行:后边-->
</li>
</ul>
</div>
<script>
new Vue({
el:"#app",
data:{
// foodlist:[
// "葱","姜","蒜"
// ],
foods:[
{"name":"葱","price":10,"discount":0.8},
{"name":"姜","price":8,"discount":0.6},
{"name":"蒜","price":6},
]
}
})
</script> </body>
</html>
v-model的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<div>
<input type="text" v-model="msg"> <!--实时更新-->
{{msg}}
</div>
<div>
<input type="text" v-model.lazy="msg_s"> <!--失去焦点显示-->
{{msg_s}}
</div>
<div>
<input type="text" v-model.trim="msg_t"> <!--去掉空格-->
{{msg_t}} <pre>{{msg_t}}</pre> <!--pre 标签显示原生的数据-->
</div>
<br>
<hr>
<label>男
<input v-model="sex" value="male" type="checkbox">
</label>
<label>女
<input v-model="sex" value="female" type="checkbox">
</label>
{{sex}}
<br>
<label>
男男
<input v-model="xb" type="radio" value="男">
</label>
<label>
女女
<input v-model="xb" type="radio"value="女">
</label>
<hr>
{{xb}}
<hr>
<textarea v-model="text"></textarea>
<hr>
<div>where are you from?</div>
<select v-model="sel">
<option value="1">红灯区</option>
<option value="2">绿灯区</option>
<option value="3">黄灯区</option>
</select>{{sel}}
<div>where are you from?</div>
<select v-model="sels" multiple>
<option value="1">红灯区</option>
<option value="2">绿灯区</option>
<option value="3">黄灯区</option>
</select>{{sels}}
</div>
<script>
new Vue({
el:"#app",
data:{
msg:"",
msg_s:"",
msg_t:"",
zhang:"我是你爸",
sex:["male"],
text:"草拟大爷",
sel:null,
hobby:null,
xb:"",
sels:[]
}
})
</script> </body>
</html>
v-on的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
<!--v-on:指令可以直接使用@符号代替-->
<button v-on="{mouseenter:onEnter,mouseleave:outEnter}" v-on:click="OnClick">点我啊</button>
<form v-on:submit="onSubmit($event)" v-on:keyup.enter="onEnter">
<input type="text">
<button type="submit">提交啊</button>
</form>
<form v-on:keyup="onUp">
<input type="text">
</form>
</div> <script>
new Vue({
el:"#app",
methods:{
OnClick:function () {
console.log("大爷,哪里不能点啊")
},
onEnter:function () {
console.log("进来了···")
},
outEnter:function () {
console.log("出去了·····")
},
onSubmit:function (e) {
e.preventDefault()
console.log("提价你大爷")
},
onEnter:function () {
console.log("回车键在敲我")
},
onUp:function () {
console.log("键盘在敲")
}
}
})
</script> </body>
</html>
v-show,v-model的使用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body> <div id="app">
<div>
<input type="text" v-model="name" placeholder="请输入名字">
<span v-show="name">我的名字是:{{name}}</span>
</div>
<div>
<input type="text" v-model="age" placeholder="请输入年龄">
<span v-show="age">我的年龄是:{{age}}</span>
</div>
<div>
<input type="text" v-model="sex" placeholder="请输入性别">
<span v-show="sex">我的性别是:{{sex}}</span>
</div>
</div>
<script>
new Vue({
el:"#app",
data:{
name:"",
age:"",
sex:"",
}
})
</script>
</body>
</html>
v-text:
插入一段文本
<div id="app">
<p v-text="message"></p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
message:'hello world !'
}
})
</script>
v-html:
既可以插入一段文本也可以插入html标签
<div id="app">
<p v-html="message"></p>
</div>
<script>
var vm = new Vue({
el:'#app',
data:{
message:"<input type='button'>"
}
})
</script>

基本指令就这么点,还有一部分自定义的指令

//自定义指令
<div v-pin="true"></div>
Vue.directive('pin',function(el,binding){
//var $el=$(el);
var pinned=binding.value;
if(pinned){
el.style.position='fixed';
}else{
el.style.position='static';
}
})

<div id="app">
<ul>
<li v-on:click="login(true)">二维码登录</li>
<li v-on:click="login(false)">验证码登录</li>
</ul>
<div v-show="temp">
<h1>这里是二维码登录</h1>
</div>
<div v-show="!temp">
<h1>这里是验证码登录</h1>
</div> </div> <script>
var obj = new Vue({
el:"#app",
data:{
temp:true
},
methods:{
login:function (temp) {
this.temp=temp
}
}
})
</script>

tag切换实现

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<style>
ul>li{
list-style: none;
display: inline-block;
width: 100px;
height: 40px;
padding-right: 30px;
border: 1px purple solid;
}
#app{
text-align: center;
margin-top: 100px;
}
</style>
<body>
<div id="app">
<ul>
<li v-on:click="home(home)">我的首页</li>
<li v-on:click="course(course)">我的课程</li>
<li v-on:click="detail(detail)">课程详细</li>
<li v-on:click="callme(callme)">联系我们</li>
</ul>
<hr>
<ul>
<li v-if="temp == home">我的首页</li>
<li v-else-if="temp == course">我的课程</li>
<li v-else-if="temp == detail">课程详细</li>
<li v-else="temp == callme">联系我们</li>
</ul>
</div> <script>
var obj = new Vue({
el:"#app",
data:{
temp:'home'
},
methods:{
home:function (home) {
console.log("我的主页")
this.temp = home
},
course:function (course) {
console.log("我的课程")
this.temp = course
},
detail:function (detail) {
console.log("课程详细")
this.temp = detail
},
callme:function (callme) {
console.log("联系我们")
this.temp = callme
}
},
})
</script> </body>
</html>

tag切换升级版

中文文档详细操作

搭建vue.js项目:

脚手架搭建框架   官网下载node.js,傻瓜式安装
Windows搭建vue项目:
安装note.js
   npm init 初始化操作
npm install vue-cli -g g是全局变量
vue-init webpack myvue myvue是项目名
cd myvue 切换到项目目录
npm install
npm run dev 启动姓名

第一步下载安装node.js;

? Project name myvue              --项目名
? Project description A Vue.js project
? Author 522338473 <@qq.com> --作者,默认git账户名
? Vue build standalone --vue构建
? Install vue-router? Yes --安装vue路由
? Use ESLint to lint your code? Yes --使用eslint链接代码
? Pick an ESLint preset Standard
? Set up unit tests Yes --设置单元测试
? Pick a test runner jest --选择一个测试运行
? Setup e2e tests with Nightwatch? Yes --用nightwatch设置e2e测试
? Should we run `npm install` for you after the project has been created? (recommended) npm vue-cli · Generated "myvue".

不过中途有可能会因为是国外服务器的缘故有些包安装错误,错误的时候继续执行npm install

好了之后执行上边黄色指令运行项目


虽然完成了,但是速度太慢了,建议使用淘宝镜像安装,快!

首先我们需要下载npm,因为我已经提前安装了node.js,安装包里面集成了npm,然后我们就可以利用npm命令从获取淘宝镜像的cnpm了。
1.打开命令行窗口,输入
npm install -g cnpm --registry=https://registry.npm.taobao.org
获取到cnpm以后,我们需要升级一下,输入下面的命令
cnpm install cnpm -g
因为安装Vue需要npm的版本大于3.0.0,所以我们要升级一下, 然后我们输入下面的命令,安装vue
cnpm install vue
接下来安装vue-cli
cnpm install --global vue-cli
此时环境就搭建好了。
2.接下来我们需要指定一个目录存放我们的项目,可以选择任意路径,确定好路径后输入下面的命令
vue init webpack "项目名称"
3.成功以后,我们进入项目所在目录
cd "项目所在文件夹"
然后依次输入下面的命令
cnpm install
cnpm run dev

vue入门-常用指令操作的更多相关文章

  1. Vue入门---常用指令详解

    Vue入门 Vue是一个MVVM(Model / View / ViewModel)的前端框架,相对于Angular来说简单.易学上手快,近两年也也别流行,发展速度较快,已经超越Angular了.比较 ...

  2. 02: vue.js常用指令

    目录:Vue其他篇 01: vue.js安装 02: vue.js常用指令 目录: 1.1 vuejs简介 1.2 选择器:根据id.class等查找 1.3 静态绑定数据 data 1.4 插值 { ...

  3. Vue - vue.js 常用指令

    Vue - vue.js 常用指令 目录: 一. vuejs模板语法之常用指令 1. 常用指令: v-html 2. 常用指令: v-text 3. 常用指令: v-for 4. 常用指令: v-if ...

  4. 新人成长之入门Vue.js常用指令介绍(一)

    写在前面 作为一个刚步入职场工作的新人,对于公司中所用的技术和框架基本上不懂,只能从最基础的开始做起,进入公司接触的第一个框架就是前端框架Vue.js,几个功能做下来,觉得Vue.js首先学习起来真的 ...

  5. vue.js常用指令

    本文摘自:http://www.cnblogs.com/rik28/p/6024425.html Vue.js的常用指令 上面用到的v-model是Vue.js常用的一个指令,那么指令是什么呢? Vu ...

  6. 【Vue】vue.js常用指令

    http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会 ...

  7. Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

    Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会为绑定的目标元素添加一些特殊的行为,我们可以将指令看作特殊的HTML特性(attribu ...

  8. vue之常用指令

    事件缩写 v-on:click= 简写方式 @click= 事件对象$event <!DOCTYPE html> <html lang="en"> < ...

  9. vue的常用指令

    https://www.bootcdn.cn/ 前端资源库 <!-- 常用内置指令 v:text : 更新元素的 textContent v-html : 更新元素的 innerHTML v-i ...

随机推荐

  1. hadoop FileSystem类和SequenceFile类实例

    Hadoop的FileSystem类是与Hadoop的某一文件系统进行交互的API,虽然我们主要聚焦于HDFS实例,但还是应该集成FileSystem抽象类,并编写代码,使其在不同的文件系统中可移植, ...

  2. 【bzoj2563】阿狸和桃子的游戏 贪心

    题目描述 阿狸和桃子正在玩一个游戏,游戏是在一个带权图G=(V, E)上进行的,设节点权值为w(v),边权为c(e).游戏规则是这样的:1. 阿狸和桃子轮流将图中的顶点染色,阿狸会将顶点染成红色,桃子 ...

  3. HDU——1465不容易系列之一(错排公式)

    不容易系列之一 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  4. volatile的用法

    在再有人问你Java内存模型是什么,就把这篇文章发给他中我们曾经介绍过,Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized ...

  5. ubuntu-64位安装tensorflow

    (一)ubuntu-64位安装tensorflow过程: 1安装Anaconda 然后执行:bash Anaconda×××-Linux-x86_64.sh ,然后一直enter键,中途会遇到([y] ...

  6. [luoguP1129] [ZJOI2007]矩阵游戏(二分图最大匹配)

    传送门 每一行的1和每一列的1不管怎么换还是在同一行和同一列 目标状态中有n个1是不同行且不同列的 那么就是能否找出n个不同行不同列的1 就是每一行选一个不同列的1 如果矩阵中位置i,j为1,那么点i ...

  7. 刷题总结——拆网线(noip模拟 贪心)

    题目: 给定一颗树··在保证有k个点与其它点连接的情况下问最少保留多少条边···· 树的节点树n和k均小于100000: 题解: 很容易看出来我们要尽量保留那种一条边连两个节点的情况···· 然后考试 ...

  8. P2622 关灯问题II (状态压缩,最短路)

    题目链接 Solution 这道题算是很经典的状压问题了,好题. 考虑到 \(n\) 的范围仅为 \(10\) , 那么也就是说所有状态压起来也只有 \(1024\) 种情况. 然后我们发现 \(m\ ...

  9. Python ping 模块

    使用socket模块也可以获得域名对应的ip,参考:https://blog.csdn.net/c465869935/article/details/50850598 print socket.get ...

  10. input标签不能设置height

    首先input是内联标签(inline) inline元素设置width.height属性无效 可以通过设置display:inline-block ,则内联标签可以设置width和height,但是 ...