美文网首页Vue
vue 2.0 常用基础知识点

vue 2.0 常用基础知识点

作者: 愿你如夏日清凉的风 | 来源:发表于2017-03-31 11:02 被阅读116次

    1,根据数据的length值来切换class类名,以此来变换样式。

    <h2 class="letter-spacing1 activity-title" :class="members.length === 1 ? 'red':'gray'"></h2>
    

    2,根据数据的length值来切换文字内容。

    <b> {{ members.length === 1 ? "刷新平板撑世界纪录" : "挑战你的平板支撑世界纪录"  }}</b>
    

    3,当两个条件都为true的时候显示某元素

    <span class="tip" v-if="content.identity == 1 && step == 1">选中队员参加运动项目,未选中为助阵团团员!</span>
    

    4,当1个条件都为true的时候显示某元素

    <span class="tip" v-if="headerData.num === 1">还没有其他团员报名,快点邀请吧~</span>
    

    5,里面用到了vue 2.0的v-for、v-if、表单checkbox

    <div class="actual-member fl" v-for="(mem, index) in project.mems">
        // 用label将整个点击区域包裹起来。
        <label :for='mem.id'>
           // 用户的头像
           <span class="member-item">
              ![](mem.avatar)
          </span>
          // 用户的姓名
          <p class="white member-name">{{ mem.name }}</p>
          <!-- 如果当前的身份是团长,并且还没有选队员,才显示下面的多选框 -->
          <div v-if="content.identity === 1 && step == 1">
               // 真正的checkbox透明度为0,隐藏起来,但是checkbox的点击区域为整个label标签范围,用户看到的只有勾选或未勾选的样式,但实际还是在点checkbox,所有勾选到的checkbox对应的id值都会存放在checkedNames中
               <input type="checkbox" style="opacity: 0" :id='mem.id' v-model="checkedNames"
                      :value="mem.id"  v-if="mem.role_id != 1">
              // v-if="mem.role_id != 1" 用来判断这个用户是不是团长的身份,如果是团长的身份就不渲染这个checkbox。
          
               <span v-if="mem.role_id == 1" class="green-checkbox"></span>
               // 如果用户是团长身份,直接显示已勾选的样式
             
               <span v-else :class="checkedNames.indexOf(mem.id) > -1 ? 'green-checkbox':'gray-checkbox'"></span>
               // 显示勾选或未勾选的标签
          </div>
      </label>
    </div>
    

    6,三个条件都为true的时候才渲染

     <button type="button" class="bg-gold white detail-btn"
           v-if="content.identity == 1 && step == 1 && content.num >= 12"
           :class="checkedNames.length === 12 ? '':'gray-btn'"
           @click="submitMemberData">确认选择
    </button>
    

    7,通过判断$route.path来显示a链接

    <router-link 
        v-if="$route.path !== '/time-entries/log-time'" 
        to="/time-entries/log-time" 
        class="btn btn-primary">
        创建
    </router-link>
    
    • v-if是vue的一个指令
    • $route.path是当前路由对象的路径,会被解析为绝对路径当
    • $route.path !=='/time-entries/log-time'true是显示,false,为不显示。
    • to 路由跳转地址

    8,判断length值,切换显示或不显示

    <p v-if="!plans.length"><strong>还没有任何计划</strong></p>
    

    9,v-for循环,注意index的位置

    <a class="list-group-item" v-for="(plan, index) in plans"></a>
    

    v-for循环,注意参数顺序为(item,index) in items

    10,img标签中src属性的渲染方式

    <img :src="plan.avatar" />
    
    • :src属性,这个是vue的属性绑定简写v-bind可以缩写为:
    • 比如a标签的href可以写为:href,并且在vue的指令里就一定不要写插值表达式了(:src={{xx}}),vue自己会去解析。

    相关文章

      网友评论

        本文标题:vue 2.0 常用基础知识点

        本文链接:https://www.haomeiwen.com/subject/fvppottx.html