vue教程(一)-html使用vue
前后端分离、微服务框架是当下比较流行的词汇,而vue就是前端框架的佼佼者。下面重点介绍一下vue的用法:
vue起步:1、引包 2、启动new Vue({el:目的地,template:模板内容}) 其中options参数除了 el、template还有数据data
在html中如何使用vue:
按照上述步骤, 引包 <script src='./node_modules/vue/dist/vue.js'></script>
new Vue对象 <script>
new Vue({
el:"#app",//预留填坑位置,比如html页面有一个<div id='app'></div>的元素
tempate:"<div>你好</div>"
})
</script>
完成上述后,访问该html页面可以看到你好内容。 data:动态数据的声明 用法如下:添加data
<script>
new Vue({
el:"#app",//预留填坑位置,比如html页面有一个<div id='app'></div>的元素
template:"<div>你好 {{text}}</div>",
data:function(){
return {
//代表要在template使用的数据,所以在template中将text变量添加进去,用{{}}包裹
text:'hellow word'
}
}
})
</script>
保存之后,访问html页面,可看到内容 你好 hellow word
vue文件介绍
1、插值表达式:格式{{表达式}}
支持字符串{{''}}、对象{{object.key}}、判断后的布尔值{{true}}、三元表达式{{a==b?'正确':'错误'}}
注:必须在data这个函数返回对象中声明
2、常用指令
v-text其实就是给元素的innerText属性赋值,只能用在双标签中
v-html就是给元素的innerHTml赋值、
v-if\v-if-else\v-else、
v-show隐藏元素,就是将display:none
v-bind给元素属性赋值,语法:<div v-bind:属性名='变量'></div>, 简写 <div :属性名='变量'></div>
v-on 处理原生事件的 。用法:在元素上v-on:原生事件名=“操作方法” , 简写:@原生事件名=“操作方法”
v-model 双向数据流绑定,即页面改变影响内存,内存数据改变影响页面。
v-model与v-bind区别:
1、v-bind的是单向的,只能将vue中的数据同步到页面。
2、v-model 双向绑定,不只能将vue中的数据同步到页面,而且可以将用户数据的数据赋值给vue中的属性。例子:<input v-model='myValue'></input> <button v-show='myValue=='xxx'>按钮</button>,new vue中默认myValue='hellow',如果刷新html页面,这时候input的默认值是hellow,说明vue的属性值成功同步到页面,当输入xxx时,按钮能够显现,说明用户输入的值能够赋值给vue的属性,所以是双向绑定。
3、v-bind可以给任何属性赋值,v-model只能给具备value属性的元素进行数据双向绑定。
v-for的用法
基本用法v-for="item in array"
对象用法v-for="item in object"
v-for 中的属性 数组 item index ,对象 item 、key、index
3、组件的用法
在new Value中使用components声明要用的组件,key是组件值,value是组件对象
<script>
var APP = {template:"<h>我是入口组件</h>"} -----------生出子
new Vue({
el:"#app",
template:"<app/>",//组件调用 ---------------使用子
components:{app:APP} ---------------------声明子
})
</script>
//访问页面后,可以看到我是入口组件 这个显示内容,说明组件调用成功。 口诀: 生出子、 声明子、使用子
使用组件以单标签(<app/>)使用,只能在new Vue中可以,如果在其他地方请使用双标签,比如将上述例子中的APP组件再调用其他组件时,必须用双标签如下
var myHeader ={template:<h>我是头</h>"}
var myBody ={template:<h>我是主要内容</h>"}
var APP = {
components:{'my-header':myHeader ,'my-body':myBody } ,
template:"<div>
<my-header></my-header> -----------在这使用时,必须双标签,而不能是<my-header/>
<my-body></my-body>
</div>"
}
//访问页面可以看到 我是头 我是主要内容的显示,说明调用成功。
组件之间传递数据
父向子传递数据 其实就是给子使用v-bind绑定数据
var APP = {
components:{'my-header':myHeader } ,
template:"<div>
<my-header :title='title' ></my-header> -----------v-bind绑定数据
</div>",
data:function(){
return {
title:'测试'
}
}
}
子组件的修改如下: 利用props接收父组件传递过来的参数
var myHeader ={
template:<h>我是头 {{title}}</h>",
props:['title']
}
//访问页面可以看到 “我石头 测试”内容显示
简单介绍一下vue的最基本用法,后期会继续完善文章。本人使用vue\mpvup+vant等组件开发的项目作为例子,有兴趣的可以下载学习。源代码已上传git:Git地址
技术交流群:
vue教程(一)-html使用vue的更多相关文章
- vue教程2-06 过滤器
vue教程2-06 过滤器 过滤器: vue提供过滤器: capitalize uppercase currency.... <div id="box"> {{msg| ...
- vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由
vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...
- vue教程3-04 vue.js vue-devtools 调试工具的下载安装和使用
vue教程3-04 vue.js vue-devtools vue调试工具的安装和使用 一.vue-devtools 下载与安装 1.需要 fan qiang 2.打开谷歌浏览器设置--->扩展 ...
- vue教程3-03 vue组件,定义全局、局部组件,配合模板,动态组件
vue教程3-03 vue组件,定义全局.局部组件,配合模板,动态组件 一.定义一个组件 定义一个组件: 1. 全局组件 var Aaa=Vue.extend({ template:'<h3&g ...
- vue教程3-02 vue动画
vue教程3-02 vue动画 以下代码,已经用包管理器下载好vue,animate <!DOCTYPE html> <html lang="en"> &l ...
- vue教程3-01 路由、组件、bower包管理器使用
vue教程3-01 路由.组件.包管理器 以下操作前提是 已经安装好node.js npm bower-> (前端)包管理器 下载: npm install bower -g 验证: bower ...
- vue教程2-08 自定义键盘信息、监听数据变化vm.$watch
vue教程2-08 自定义键盘信息 @keydown.up @keydown.enter @keydown.a/b/c.... 自定义键盘信息: Vue.directive('on').keyCode ...
- vue教程2-07 自定义指令
vue教程2-07 自定义指令 自定义指令: 一.属性: Vue.directive(指令名称,function(参数){ this.el -> 原生DOM元素 }); <div v-re ...
- vue教程2-07 微博评论功能
vue教程2-07 微博评论功能 <!doctype html> <html> <head> <meta charset="utf-8"& ...
随机推荐
- Bootstrap3.0学习(一)
Bootstrap是Twitter退出的一个开源的用于前端开发的工具包.它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架.Bootstra ...
- 【Linux】Linux下设备网卡以及硬件管理等
这是Linux下网络硬件管理的基础知识,虽然平时用到的可能比软件的少一点,但是作为基础命令,还是需要记住,以免用时又得查询. 本文参考官方文档:https://wiki.ubuntu.com.cn/% ...
- BFS提高效率的一点建议
BFS有两种常见的形式: 形式1: 把初始点加入队列; while (队列非空) { 取出队头; 操作取出的点; 寻找周围符合条件的点加入队列; } 形式2: 操作初始点 把初始点加入队列; whil ...
- arcgis api for js 4.X 出现跨域问题
arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...
- 攻防世界 web进阶练习 NewsCenter
攻防世界 web进阶练习 NewsCenter 题目是NewsCenter,没有提示信息.打开题目,有一处搜索框,搜索新闻.考虑xss或sql注入,随便输入一个abc,没有任何搜索结果,页面也没有 ...
- 【Zookeeper02】ZK的作用以及使用
上一篇介绍了ZK的安装以及集群的搭建,这只能算是个软件安装过程,具体是做什么的.怎么用也没有做解释,这一篇中博主就自己的私人理解简单写一下: 1.是什么: a.Zookeeper是一个分布式协调服务, ...
- php5.3之命名空间
在php5.3之后,php像c++那样新 命名空间. 1.在同一个文件中不能实例化同一个名字相同的类和同时包含两个不同目录下的相同文件,中包含相同的函数和常量.为了解决这个问题,因此引入了命名空间. ...
- MySQL字符集乱码详解
对于MySQL数据库中出现乱码经常是新手碰到的一个头痛的问题,不知道为什么经常出现中文乱码. 1.对于所谓的数据库中乱码,其实这中说法是错误的,只是我们不认识服务器给我们的字符.其实还是原来的字符?那 ...
- 【朝花夕拾】Android自定义View篇之(六)Android事件分发机制(中)从源码分析事件分发逻辑及经常遇到的一些“诡异”现象
前言 转载请注明,转自[https://www.cnblogs.com/andy-songwei/p/11039252.html]谢谢! 在上一篇文章[[朝花夕拾]Android自定义View篇之(五 ...
- 蓝桥杯:矩阵乘法(区间DP)
http://lx.lanqiao.cn/problem.page?gpid=T417 题意:…… 思路:n=1000,一开始觉得区间DP会超时,后来想不到其他做法就这样做了,居然没超时. 状态转移: ...