new Vue({
  el:'#demo',
  data:{
    message:'Hello vue.js!'
  }
})
我们看到这个括号里面包含了很多中间的选项,小括号里面其实是一些参数,这些参数指定了实例化vue的一些特性
第一个选项data
new Vue({
  data:{
    a:1,
    b:[]
  }
})
<p>{{ a }}</p>

vue的所有数据都是放在data里面的,data里面也是一个对象,对象里面的a可以对页面进行进行双向绑定,这两个是关联的

第二个选项method
new Vue({
  data:{
    a:1,
    b:[]
  },
  methods:{
    doSomething:function(){
      console.log(this.a)
    }
  }
})
methods就是方法,这个方法里面打印了a
第三个选项watch
new Vue({
  data:{
    a:1,
    b:[]
  },
  methods:{
    doSomething:function(){
      this.a++
    }
  },
  watch:{
    'a':function(val, oldVal){
      console.log(val,oldVal)
    }
  }
})

watch字母上理解就是一个监听,这里面我们监听了a,这个a就是数据里面的a,比如doSomething里面进行了+1的变化,watch里面对应的监听方法就会自动的去执行,这里打印了新的值和旧的值,如果+1后,val就是2,oldVal就是1

介绍了上面三个选项,我们会想,这些要怎么跟页面进行联系,他们之间有一个粘合剂,就是模板指令,模板指令是写在html里面的,比如最常用的就是
数据渲染:v-text,v-html,{{}}
new Vue({
  data:{
    a:1,
    b:[]
  }
})
<p>{{ a }}</p>
<p v-text='a'></p>
<p v-html='a'></p>

这三个其实不能说是等价的,因为v-text是格式处理了html,v-html保存了html结构,但是无论如何这个a都是对应到数据源里面的a,当这个a通过doSomething这个方法进行自增的话,模板上的a会自动进行更新,所以这其实是运用模板的一个优势

控制模板隐藏:v-if,v-show
new Vue({
  data:{
    isShow:true
  }
})
<p v-if='isShow'></p>
<p v-show='isShow'></p>
v-if,v-show就是控制这个元素的显示和隐藏,他们的差别是v-if直接不渲染这个dom元素,而v-show是通过css的display来进行隐藏,在代码里是可以看到这个dom元素的
渲染循环列表:v-for
new Vue({
  items:[
    {
      label:'apple'
    },{
      label:'banana'
    }
  ]
})
<ul>
  <li v-for='item in items'>
    <p v-text='item.label'></p>
  </li>
</ul>
我们使用其他的框架大多都有列表多渲染方法,就是循环渲染,我们的数据源是上面的一个数组
事件绑定:v-on
new Vue({
  methods:{
    doThis:function(sth){
    }
  }
})
<button v-on:click='doThis'></button>
<button @click='doThis'></button>
时间绑定是很常用的一个东西,@click是v-on:click的简写模式,点击的时候去执行doThis这个方法,这个doThis是选项methods里面的东西,而不是data里面的,data主要一些固定的数据,操作数据的这个概念,method是页面中会使用到的一些方法
属性绑定: v-bind
<img v-bind:src='imageSrc'>

<div :class='{red:isRed}'></div>
<div :class='[classA,classB]'></div>
<div :class='[classA,{classB:isB,classC:isC}]'></div>
v-bind是只对dom元素属性的一些操作,v-bind:src指的是src属性,给赋值imageSrc,v-bind最常用的是:class,:class是v-bind:class的简写方式,

vuejs组件的重要选项的更多相关文章

  1. vuejs 组件通讯

    在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA(single-page application 简称为 SPA)中的组件间传值. 一.路由传值 路由对象如下图所示: 在跳转页面的时 ...

  2. 深入理解 Vuejs 组件

    本文主要归纳在 Vuejs 学习过程中对于 Vuejs 组件的各个相关要点.由于本人水平有限,如文中出现错误请多多包涵并指正,感谢.如果需要看更清晰的代码高亮,请跳转至我的个人站点的 深入理解 Vue ...

  3. Vue.js组件的重要选项

    Vue.js组件的重要选项 实例化Vue对象一些很重要的选项,Vue的所有数据都是放在data里面的,Vue的参数是个对象,对象里面的字段叫做data,data里面也是对象,data也可以写作是thi ...

  4. vue 自定义封装组件 使用 model 选项

    自定义组件的 v-model 一个组件上的 v-model 默认会利用名为 value 的 prop 和名为 input 的事件,但是像单选框.复选框等类型的输入控件可能会将 value 特性用于不同 ...

  5. Vuejs - 组件式开发

    初识组件 组件(Component)绝对是 Vue 最强大的功能之一.它可以扩展HTML元素,封装可复用代码.从较高层面讲,可以理解组件为自定义的HTML元素,Vue 的编译器为它添加了特殊强大的功能 ...

  6. vue构造函数(根实例化时和组件实例对象选项)参数:选项详解

    实例选项(即传给构造函数的options):数据,DOM,生命周期钩子函数,资源,组合,其他 数据 data 属性能够响应数据变化,当这些数据改变时,视图会进行重渲染. 访问方式: 1.通过 vm.$ ...

  7. Vuejs——(8)Vuejs组件的定义

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...

  8. vuejs组件库pk介绍

    vuejs可以说是近2年多以来最火的前端框架,随之而来就产生了非常多的组件库,我们来看看其中比较著名和人气旺盛的几个 1. Vuetify-符合material design设计理念, star数量7 ...

  9. vuejs组件交互 - 01 - 父子组件之间的数据交互

    父子组件之间的数据交互遵循: props down - 子组件通过props接受父组件的数据 events up - 父组件监听子组件$emit的事件来操作数据 示例 子组件的点击事件函数中$emit ...

随机推荐

  1. Zookeeper下载方法

    Zookeeper官网地址:http://zookeeper.apache.org/             Zookeeper下载链接:http://mirrors.tuna.tsinghua.ed ...

  2. 洛谷P4315 月下“毛景树”

    题目描述 毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园. 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里. 爬啊爬~爬啊爬毛毛虫爬到了一颗小小的"毛景树&quo ...

  3. PHP与thinkphp中var_dump()打印数组显示不全问题

    在我们进行php开发的时候,经常会使用var_dump()函数进行数组的打印,以方便我们程序的调试,而有时候我们在进行多维数组打印的时候会发现多维数组打印不全,有些地方被…代替,这就是我们php配置的 ...

  4. 设置Input标签Date默认值为当前时间

    需求:想设置Imput标签Date默认值为当前时间,通过JavaScript实现. <html> ...... <body> <input type="date ...

  5. Eclipse中新建Maven Web项目报错:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

    在maven web项目中的index.jsp中的错误信息如下: The superclass "javax.servlet.http.HttpServlet" was not f ...

  6. linux下python3的安装(已安装python2的情况下)

    前段时间想自学一下python,就在虚拟机里已安装python2.7的情况下又安装了最新版python3.6.4.于是问题来了..只要一打开终端就出现一大段错误代码(忘记截图了),当时看到是ros和p ...

  7. Vue里的nextTick方法

    官方解释: 在下次 DOM 更新循环结束之后执行延迟回调.在修改数据之后立即使用这个方法,获取更新后的 DOM. 自己总结: `Vue.nextTick(callback)`,当数据发生变化,更新后执 ...

  8. Linux命令发送Http的get或post请求(curl和wget两种方法)

    Http请求指的是客户端向服务器的请求消息,Http请求主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求.下面就来介绍一下Linux系统如何模拟Http ...

  9. mysql 帮助手册 以及 warning: World-writable config file 以及 ERROR 1840 (HY000) at line 24:

    1. mysql --help 2.报错 报错Warning: World-writable config file http://www.jb51.net/article/99027.htm 最近在 ...

  10. Java面向对象_适配器模式

    概念:将一个类的接口转换成客户希望的另外一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 public class Practice14 { public static v ...