前后端分离、微服务框架是当下比较流行的词汇,而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的更多相关文章

  1. vue教程2-06 过滤器

    vue教程2-06 过滤器 过滤器: vue提供过滤器: capitalize uppercase currency.... <div id="box"> {{msg| ...

  2. vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由

    vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...

  3. vue教程3-04 vue.js vue-devtools 调试工具的下载安装和使用

    vue教程3-04 vue.js vue-devtools vue调试工具的安装和使用 一.vue-devtools 下载与安装 1.需要 fan qiang 2.打开谷歌浏览器设置--->扩展 ...

  4. vue教程3-03 vue组件,定义全局、局部组件,配合模板,动态组件

    vue教程3-03 vue组件,定义全局.局部组件,配合模板,动态组件 一.定义一个组件 定义一个组件: 1. 全局组件 var Aaa=Vue.extend({ template:'<h3&g ...

  5. vue教程3-02 vue动画

    vue教程3-02 vue动画 以下代码,已经用包管理器下载好vue,animate <!DOCTYPE html> <html lang="en"> &l ...

  6. vue教程3-01 路由、组件、bower包管理器使用

    vue教程3-01 路由.组件.包管理器 以下操作前提是 已经安装好node.js npm bower-> (前端)包管理器 下载: npm install bower -g 验证: bower ...

  7. vue教程2-08 自定义键盘信息、监听数据变化vm.$watch

    vue教程2-08 自定义键盘信息 @keydown.up @keydown.enter @keydown.a/b/c.... 自定义键盘信息: Vue.directive('on').keyCode ...

  8. vue教程2-07 自定义指令

    vue教程2-07 自定义指令 自定义指令: 一.属性: Vue.directive(指令名称,function(参数){ this.el -> 原生DOM元素 }); <div v-re ...

  9. vue教程2-07 微博评论功能

    vue教程2-07 微博评论功能 <!doctype html> <html> <head> <meta charset="utf-8"& ...

随机推荐

  1. python中的内置函数(一)

    内置函数:内置函数就是python提供的,可以拿来直接用的函数 作用域相关 locals():返回当前作用域中的名字globals():返回全局作用域中的内容 def func(): print('我 ...

  2. windows pyspider WEB显示框太小解决方法

    环境:windows7 + chrome + pyspider 解决方法: WEB预览框过小的原因在于页面元素的css属性height被替换为60px: CSS文件所在地方:C:\Users\Admi ...

  3. 11 CSS的三种引入方式和基本选择器

    <!-- 整体说明: 1.CSS的三种引入方式 (1)行内样式 (2)内接样式 (3)外接样式 2.CSS的基本选择器 (1)id选择器 (引用方式:#id) (2)标签选择器(引用方式:标签名 ...

  4. Hexo+NexT(零):最全Hexo+Next搭建博客教程

    快速.简洁且高效的博客框架 有位大神说,喜欢写博客的人的人,折腾博客会经历三个阶段.找到一个免费空间,搭建一个博客,很欣喜,很有成就感,此为一阶段:受限免费空间各种限制,自己买空间和域名,实现对博客的 ...

  5. 【转载】java8中的Calendar日期对象(LocalDateTime)

    Java 8 推出了全新的日期时间API,Java 8 下的 java.time包下的所有类都是不可变类型而且线程安全. 下面是新版API中java.time包里的一些关键类: Instant:瞬时实 ...

  6. php7中异常

    php7中新增异常错误处理 在PHP7之前的版本,对于一些错误异常是没有办法捕获的. php7中新增throwable接口,可以用来捕获一些错误 Exception,Error这实现了Throwabl ...

  7. Mac和Windows以及Linux上WingIDE Pro激活

    写这篇文章的原因,主要是网上的很多激活方式都不适用最新版的软件.要么要你付费下载别人破解好的内容,要么各种文章你抄我,我抄你,根本没有自己实践过. 本篇文章合适Mac.Windows.Linux平台, ...

  8. JavaScript面向对象之封装

    Javascript是一种基于对象的语言,你遇到的所有东西几乎都是对象.但是,它又不是一种真正的面向对象编程语言,因为它的语法中没有 class(类). 那么,如果我们要把"属性" ...

  9. python爬取拉勾网数据并进行数据可视化

    爬取拉勾网关于python职位相关的数据信息,并将爬取的数据已csv各式存入文件,然后对csv文件相关字段的数据进行清洗,并对数据可视化展示,包括柱状图展示.直方图展示.词云展示等并根据可视化的数据做 ...

  10. 第四届蓝桥杯省赛 (JavaB组)

    第二题:马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了. 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案 ...