vue学习记录(数据绑定、class,style绑定)

11 篇文章 0 订阅

vue数据绑定:

<span>message{{msg}}</span>

绑定的数据对象上的msg发生该改变,插值随之改变。

<span v-once>message{{msg}}</span> 执行一次性的插值。

js语法表达式可以插入在双括号中(不要在表达式中访问自定义的全局变量,可以使用MATH 、 DATE这一类)

{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}
<div v-bind:id="'list-' + id"></div>

指令:v- 指令的作用是当表达式发生改变,响应式改变DOM。

<p v-if="seen">现在你看到我了</p>

有些指令可以有属性

<a v-bind:href="url"></a>
<a :href="url"></a>

<a v-on:click="doSomething">
<a @click="doSomething">

计算属性:(计算的初始值在data里,计算后的值写在computed里)

<div id="example">
  <p>Original message: "{{ message }}"</p>
  <p>Computed reversed message: "{{ reversedMessage }}"</p>
</div>

var vm = new Vue({
  el: '#example',
  data: {
    message: 'Hello'
  },
  computed: {
    reversedMessage: function () {
      // `this` 指向 vm 实例
      return this.message.split('').reverse().join('')
    }
  }
})

以上代码可以用方法写在methods中,两者实现出来效果一样,计算属性走缓存,方法会执行一次。
class与style绑定:
对象语法:

<div v-bind:class="{ active: isActive }"></div>

active 这个 class 存在与否取决于 isActive 是否为 truthy

<div class="static"
     v-bind:class="{ active: isActive, 'text-danger': hasError }">
</div>

data: {
  isActive: true,
  hasError: false
}

上下两种写法得到一样的结果

<div v-bind:class="classObject"></div>

data: {
  classObject: {
    active: true,
    'text-danger': false
  }
}

还可以给class添加需要计算的计算属性(计算属性写在cocomputed里)

数组语法:

<div v-bind:class="[activeClass, errorClass]"></div>

data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}

与下方对象语法效果一样

<div v-bind:class="{active:isactiveClass, text-danger:iserroClass}"></div>

data: {
    isactiveClass:true,
    iserroClass:true
}

在数组语法中也可以插入对象语法

<div v-bind:class="[{ active: isActive }, errorClass]"></div>

当在组建中添加class时,不会覆盖根元素的class,在基础上添加。
对象语法添加style

<div v-bind:style="styleObject"></div>

data: {
  styleObject: {
    color: 'red',
    fontSize: '13px'
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值