vue-语法2

class

class和style的绑定也是用v-bind或者:,vuejs对此做了专门的增强,表达式结果的类型除了字符串之外,还可以是对象或者数组
1.{key:value}对象语法
2.数组语法

<div v-bind:class="[activeClass, errorClass]"></div>
data: {
  activeClass: 'active',
  errorClass: 'text-danger'
}
<div class="active text-danger"></div>

3.用在组件上:当在一个自定义组件上使用class时,该class会被应用到该组件的根元素上,已经存在的类不会被覆盖

style

1.对象语法:样式名可以用camelCase,也可以用kebab-case(用单引号括起来)
2.数组语法
3.前缀:vue.js会自动添加前缀,如transform

条件渲染

可以将v-if放在template中,这样template不会被解析
1.v-if,v-else-if,v-else
如果v-if或v-else中有同样的元素input,可以通过对不同的input设置不同的key来独立两个元素,可见例子
2.v-show:和v-if不同的是,v-show中的dom始终在页面上,只是切换了元素的display属性
v-show 不支持template
3.v-for和v-if同时使用时,v-for的优先级更高

列表渲染v-for
  • v-for 操作数组时,以下方式改变数组不会触发页面更新
    1.用索引直接修改一个项 vm.items[index]=item (改成vm.set(vm.items,index,item)就可以触发更新)
    2.直接修改数组的长度vm.items.length=100(用vm.items.splice(newLength)就可以触发更新)

  • v-for可用于template上

  • 在组件上使用v-for
    1.v-for可以用在组件上
    2.数据不会自动传递到组件里,因为组件有自己独立的作用域,需要用props手动的传给组件,同时也能明确组件数据的来源,而自动传值会使得组件和v-for紧密耦合在一起

<my-component
  v-for="(item, index) in items"
  v-bind:item="item"
  v-bind:index="index"
  v-bind:key="item.id"
></my-component>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,216评论 0 29
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 2,461评论 0 6
  • 主要还是自己看的,所有内容来自官方文档。 介绍 Vue.js 是什么 Vue (读音 /vjuː/,类似于 vie...
    Leonzai阅读 3,615评论 0 25
  • 1. Vue 实例 1.1 创建一个Vue实例 一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实...
    王童孟阅读 1,128评论 0 2
  • 如果不开花 我只是一株普通的月季 我的姐妹们 都喜欢热烈的红 妩媚的粉 灿烂的喧嚣在春风里 我不爱那样的热闹 我只...
    天黑了还是心黑阅读 290评论 0 3

友情链接更多精彩内容