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. Docker 容器的数据卷

    数据卷的特点: 1. 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会拷贝到新初始化的数据卷中 2. 数据卷可以在容器之间共享和重用 3. 可以对数据卷里的内容直接进行修改 ...

  2. MCP|DYM|Quantitative mass spectrometry to interrogate proteomic heterogeneity in metastatic lung adenocarcinoma and validate a novel somatic mutation CDK12-G879V (利用定量质谱探究转移性肺腺瘤的蛋白质组异质性及验证新体细胞突变)

    文献名:Quantitative mass spectrometry to interrogate proteomic heterogeneity in metastatic lung adenoca ...

  3. Eclipse项目中乱码问题的解决办法

    一.产生的原因: 1.Http协议进行通信的时候是基于请求和响应的,传输的内容我们称之为报文! 2.Http协议会按照一定的规则将报文编码,然后在读取的时候再使用响应的解码格式进行解码! 3.这个一定 ...

  4. CF987C Three displays 暴力

    题意翻译 题目大意: nnn个位置,每个位置有两个属性s,cs,cs,c,要求选择3个位置i,j,ki,j,ki,j,k,使得si<sj<sks_i<s_j<s_ksi​< ...

  5. PAT天梯赛L2-007 家庭房产

    题目链接:点击打开链接 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下列 ...

  6. Django反向解析与分组命名

    1.图书管理系统中使用分组或命名分组.URL的命名和反向解析: 2.删除功能三合一: urls.py文件 from app_book import views urlpatterns = [ url( ...

  7. JMeter - 后处理器/脚本语言 - 比较

    当我们使用JMeter / Response数据处理进行密集负载测试时,我们可能会非常小心我们选择的后处理器/脚本语言的类型.在这篇文章中,我想说明这些后处理器/脚本语言如何影响测试的整体性能. 我们 ...

  8. c# Equals对比忽略大小写

    String.Equals(str1,str2,StringComparison.CurrentCultureIgnoreCase); StringComparison.CurrentCultureI ...

  9. windows srver 显示桌面图标。

    rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0

  10. SpringBoot | 第十三章:测试相关(单元测试、性能测试)

    前言 前面写了这么多章节,都是通过浏览器访问的形式,进行接口方法访问进而验证方法的正确与否.显然在服务或者接口比较少时,这么做没有啥问题,但一旦一个项目稍微复杂或者接口方法比较多时,这么验证就有点不符 ...