指令

c-if

根据表达式的真假值条件渲染元素

 <div c-if="{{true}}">根据c-if的真假结果决定是否渲染</div>

c-else

  • 不需要表达式;
  • 限制:前一个兄弟元素必须有 c-if 或者 c-else-if

用法

<div c-if="{{1 > 0.5}}">
  Now you see me
</div>
<div c-else>
  Now you don't
</div>

c-else-if

  • 限制:前一个兄弟元素必须有 c-if 或者 c-else-if
<div c-if="{{type === 'A'}}">
  A
</div>
<div c-else-if="{{type === 'B'}}">
  B
</div>
<div c-else-if="{{type === 'C'}}">
  C
</div>
<div c-else>
  Not A/B/C
</div>

c-for

<view c-for="{{array}}" c-for-index="idx" c-for-item="itemName">
 <text> {{idx}}: {{itemName.message}}</text>
</view>

c-model

父组件

<view><text>c-model的使用</text></view>
<input type="text" c-model="{{modelValueTest}}"/>
<text>{{modelValueTest}}</text>

<comp c-model="{{modelValueTest2}}" ></comp>
<view><text>组件使其改变{{modelValueTest2}}</text></view>

子组件

<template>
  <view>
    <input type="text" :value="value" c-bind:input="handleInput"/>
  </view>    
</template>

<script>

methods = {
    handleInput(e){
      console.log('input',e);
      this.$cmlEmit('input', {
        value:  Date.now()
      })
    }
  }
}
</script>

$cmlEmit的事件名必须是 'input',传入的参数需要有一个更新的value作为key,其属性值作为新值进行更新;

c-text

<view c-text="{{message}}"></view>

不支持组件的c-text

c-show

  <view c-show="{{elementShow}}" >
    <text>测试元素c-show</text>
  </view>
  <view><text>组件v-show</text></view>
  <comp c-show="{{elementShow}}"></comp>
  • 使用c-show的元素不支持同时有 style 属性

  • elementShow是来自data或者computed中的key值,或者true/false

c-animation

传入的值必须由createAnimation返回

<template>
  <text c-animation="{{animationData}}" c-bind:click="click">hello world</text>
</template>
<script>
import cml from 'cml目录';

const animation = cml.createAnimation();

class Index {
  data = {
    animationData: {}
  }
  methods = {
    click: function() {
      this.animationData = animation.opacity(0.1).step({}).export();
    }
  }
};
export default new Index();
</script>

results matching ""

    No results matching ""