Class 与 Style 的绑定

1. Class 绑定

b-class 绑定支持4种数据格式.

  • Object : 键值为样式名,值为布尔值
  • Array : 值为样式名, 会删除默认的class样式
  • Boolean : 键值为样式名,值为布尔值
  • String : 值为样式名
  1. var bs = bui.store({
  2. scope: "page",
  3. data: {
  4. active: true,
  5. activeClass: "active",
  6. tabClass: {
  7. active: true,
  8. hasActive: true,
  9. },
  10. tabClassNames: ["tab","active"],
  11. }
  12. })

html:

  1. <!-- 1.绑定多个,支持对象,数组,数组不支持动态修改 -->
  2. <p b-class="page.tabClass" class="tab">tabClass是一个对象,键值为样式名</p>
  3. <!-- 2.绑定多个,支持数组 -->
  4. <p b-class="page.tabClassNames">tabClassNames是数组,键值为样式名</p>
  5. <!-- 3.绑定单个,支持布尔值 -->
  6. <p b-class="page.active" class="tab">active 是一个布尔值</p>
  7. <!-- 4.绑定单个,支持字符串 -->
  8. <p b-class="page.activeClass" class="tab">activeClass 是一个字符串</p>

2. Style 绑定

b-style 绑定支持2种数据格式.当绑定的是一个对象时, 可以绑定多个, key值为css的键值, 比方color,display,background,等. 以下例子, page.styles.color="green"page.color = "red" 都会触发该元素的颜色变更.

  • Object : 键值为样式名,值为布尔值
  • String : 值为样式名
  1. var bs = bui.store({
  2. scope: "page",
  3. data: {
  4. styles: {
  5. color: "red"
  6. },
  7. color:"green",
  8. }
  9. })

html:

  1. <!-- 1.绑定1个-->
  2. <p b-style="page.color">绑定title属性,查看源码才能看到</p>
  3. <!-- 2.绑定多个-->
  4. <p b-style="page.styles">绑定title属性,查看源码才能看到</p>

效果预览:

查看效果

3. 显示与隐藏

b-show 可以根据数据的状态来控制当前元素的显示或者隐藏. b-model 是双向绑定的内容,可以查看表单绑定的章节.

  1. var bs = bui.store({
  2. scope: "page",
  3. data: {
  4. show: true,
  5. }
  6. })
  1. <!-- 初始化显示 -->
  2. <p b-show="page.show">我是A,被控制的内容</p>
  3. <!-- 初始化隐藏 -->
  4. <p b-show="!page.show">我是B,跟A相反的状态</p>
  5. <label><input type="checkbox" b-model="page.show" />点击可以控制A和B: <span b-text="page.show"></span></label>

效果预览:

查看效果