美文网首页
向Vue进军(一)

向Vue进军(一)

作者: Leonard被注册了 | 来源:发表于2019-10-30 12:39 被阅读0次

一、moustache语法

1.变量

<span>Message: {{ msg }}</span>
<!--不能声明变量,如下-->
<span>{{var a}} </span> 

2.函数返回值

<span>{{(function a(){return 10})()}}</span>
<!--注意:不要把函数直接放进去 -->
<span>{{function a(){return 10}}}</span>

3.三元运算符

<span>{{msg > 10 ? "a" : "b"}}</span>

4.对象(放对象的时候注意两边空格要加上,不然就报错了!)

<span>{{ {name:'xr'} }}</span>

二、指令

1.v-for

遍历指令,想遍历谁,就在谁上面加v-for
注意:由于vue并行“能懒则懒”的高度复用原则,通常要加上key保证元素的唯一性,以此来提高性能

<div v-for="data in datalist" :key="item.id">
  {{ data.text }}
</div>

2.v-text

默认会渲染成文本

<span v-text="'hello'"></span>
<!-- 和下面的一样 -->
<span>{{'hello'}}</span>

3.v-html

渲染成html标签

<div v-html="html"></div>

4.v-once

只渲染一次,再次更改时,它是从缓存中获取,而不是再最新的数据,可以用于优化更新性能

<!-- 单个元素 -->
<span v-once>This will never change: {{msg}}</span>
<!-- 多个子元素 -->
<div v-once>
  <h1>comment</h1>
  <p>{{msg}}</p>
</div>
<!-- 组件 -->
<my-component v-once :comment="msg"></my-component>
<!-- `v-for` 指令-->
<ul>
  <li v-for="item in list" v-once>{{item}}</li>
</ul>

5.v-on

绑定事件,简写为@

<button @click="fn">点我啊</button>

6.v-show/v-if

效果上都是控制元素的隐藏和显示,但是前者是通过切换display为block和none来操作元素,后者是直接控制元素的存在与否

<span v-if="isShow">233333</span>
<span v-show="isShow">233333</span>

7.v-model

主要用在表单控件上,实现双向数据绑定

<!--文本输入框-->
<input v-model="value" >
<!--单选按钮中-->
<input type="radio" v-model="radioValue" value="male">male
<input type="radio" v-model="radioValue" value="female">female
<!--单选框中 v-model为true/false-->
<input type="checkbox" v-model="checkValue" >Vue
<!--多个单选框中 v-model为数组-->
<input type="checkbox" v-model="checkArr" value="Vue" >Vue
<input type="checkbox" v-model="checkArr" value="React" >React
<input type="checkbox" v-model="checkArr" value="Angular" >Angular
<!--若option有value值,则 selectValue 获取value里的值,若没有则获取option里的内容 -->
<select v-model="selectValue">
    <option >vue</option>
    <option value="1">react</option>
    <option value="2">吃饭</option>
</select>

8.v-bind

绑定变量,简写为:

<li v-for="data in dataList" :key="data.id"></li>

9.自定义指令

当现有指令无法满足你的时候,可以自定义指令

// 全局指令
Vue.directive("focus", {
  // 指令的钩子函数
  bind:{
    console.log('绑定时触发')
  },
  inserted(el, bindings, vnode){
    // el:当前操作的元素  bindings:指令的参数  vnode:虚拟节点
    console.log('元素插入到页面时触发')
    Vue.nextTick(()=>{
      el.focus();
    )
  },
  update(){
    console.log('更新时触发')
  },
  unbind(){
    console.log('指令销毁时触发')
  }
})
// 局部指令
directives: {
  focus: {
    // 全局指令的钩子函数局部也有
    inserted(el){
      el.focus()
    }
  }
}

三、常用方法和属性

1.vm.$mount

单元测试时需要挂载在内存上时使用

2.vm.watch

监视数据的变化

//由于数据更新是异步的,如果有需要得到更新后的数据,可以使用watch监视来获得
vm.watch('msg', (new,old)=>{
    console.log(new);
}

3.vm.$nextTick

获取DOM元素

//可以获取渲染完成后的DOM
vm.$nextTick(()=>{
    console.log(vm.$el.innerHTML)
}

4.vm.options

获得所有的配置项

new Vue({
  customOption: 'foo',
  created: function () {
    console.log(this.$options.customOption)   //'foo'
  }
})

相关文章

  • 向Vue进军(一)

    一、moustache语法 1.变量 2.函数返回值 3.三元运算符 4.对象(放对象的时候注意两边空格要加上,不...

  • 向Vue进军(二)

    1.修饰符(modifiers) 事件修饰符 表单修饰符 2.watch和computed watch的两种写法 ...

  • 向真实进军

    在这个急功近利的社会,我们都匆忙的的想得到一些证明,证明自己很优秀,证明自己很成功。 曾几何时,...

  • 向月球进军

    地球人 每夜 都梦见自己 登上了月球 只有醒着 才知道 月球其实 像极了爱情 一千零一夜过去了 又一千零一夜过去了...

  • 向努力进军

    之前在郑州工作时,下班之后会开一壶水,打开口凉着,换上运动装,和弟妹相约一起到财经政法大学的操场上跑步。那...

  • 向八十岁进军

    向各位推荐这篇《向八十岁进军》,写的太好了!虽然未署名作者是谁,但一看便知是四十年代的同龄人。 整篇文章充滿着倔强...

  • 向简书进军

    抽调快手里的日日夜夜 K歌也裁军五百万 还有大量在百度执勤的警力 …… 向简书进军 吹响曾经的回音 继续把红旗插在...

  • 沃尔玛向世界进军

    姓名:杨娅 书名《家里的黄金》 页数:63~73 日期:2.6 分享:你不会愿意到沃尔玛,请他们拿走你房子的净资产...

  • 向八十岁进军

    我们的人生,跨进了七十岁,向八十岁进军,又是一个四季轮回的十年。 进军八十岁,用不着伤感和自悲,我们有足够的自信,...

  • 向21天进军

    今天星期天,老公孩子两个大小神兽都在家休息,此刻他们睡得甚是香甜。 悄悄起床,先打下这篇文字,然后再下楼跑会儿步,...

网友评论

      本文标题:向Vue进军(一)

      本文链接:https://www.haomeiwen.com/subject/duovvctx.html