上一篇:事件处理器-events 下一篇:计算属性-computed
Class 与 Style 绑定-class-and-style
Class 与 Style 绑定
数据绑定一个常见需求是操作元素的 class 列表和它的内联样式。因为它们都是属性 ,我们可以用v-bind
处理它们:只需要计算出表达式最终的字符string。不过,字符string拼接麻烦又易错。因此,在 v-bind
用于 class
和 style
时, Vue.js 专门增强了它。表达式的结果类型除了字符string之外,还可以是对象或数组。
绑定 HTML Class
对象语法
我们可以传给 v-bind:class
一个对象,以动态地切换 class 。
|
上面的语法表示 classactive
的更新将取决于数据属性 isActive
是否为真值 。
我们也可以在对象中传入更多属性用来动态切换多个 class 。此外, v-bind:class
指令可以与普通的 class 属性共存。如下模板:
|
如下 data:
|
渲染为:
|
当 isActive
或者 hasError
变化时,class 列表将相应地更新。例如,如果 hasError
的值为 true
, class列表将变为 "static active text-danger"
。
你也可以直接绑定数据里的一个对象:
|
|
渲染的结果和上面一样。我们也可以在这里绑定返回对象的计算属性。这是一个常用且强大的模式:
|
|
数组语法
我们可以把一个数组传给 v-bind:class
,以应用一个 class 列表:
|
|
渲染为:
|
如果你也想根据条件切换列表中的 class ,可以用三元表达式:
|
此例始终添加 errorClass
,但是只有在 isActive
是 true 时添加 activeClass
。
不过,当有多个条件 class 时这样写有些繁琐。可以在数组语法中使用对象语法:
|
用在组件上
- 加入Vue.js社区-join
- 从 Vue Router 0.7.x 迁移-migration-vue-router
- 从 Vue 1.x 迁移-migration
- 状态管理-state-management
- 路由-routing
- 插件-plugins
- 混合-mixins
- 过渡状态-transitioning-state
- 过渡效果-transitions
- 表单控件绑定-forms
- 事件处理器-events
- Class 与 Style 绑定-class-and-style
- 计算属性-computed
- vuejs介绍
- 与Vue.js相关的精彩开发案例 vuejs开发例子
- 对组件注入component-injections
- Router 实例router-instance
- Router 构造配置options
- 路由信息对象route-object
- router-viewrouter-view
- router-linkrouter-link
- 懒加载lazy-loading
- 滚动行为scroll-behavior
- 数据获取data-fetching
- 过渡动效transitions
- 路由元信息meta
- 导航钩子navigation-guards
- HTML5 History 模式history-mode
- 重定向 和 别名redirect-and-alias
- 命名视图named-views
- 命名路由named-routes
- 编程式导航navigation
- 嵌套路由nested-routes
- 动态路由匹配dynamic-matching
- 开始getting-started
- 安装installation
- Introductionzh-cn