vue组件中 IS 用法

//html
<link rel="stylesheet" href="http://www.jq22.com/demo/animate-141106223642/animate.min.css" />
<script src="//cdn.bootcss.com/vue/1.0.24/vue.min.js"></script>
<div id="app">
  <span class="area1" @click="isGet(1)" :class="[c1]">tap1</span>
  <span class="area1" @click="isGet(2)" :class="[c2]">tap2</span>
  <span class="area1" @click="isGet(3)" :class="[c3]">tap3</span>
  <component :is="keet" keep-alive  class="animated" transition="bounce" transition-mode="out-in" ></component>
</div>
//js
 Vue.transition("bounce", {
 enterClass: ‘‘,
 leaveClass: ‘bounceInLeft‘
 })

new Vue({
  el:‘#app‘,
  data:{
    keet:"first",
    c1:‘add_active‘,
    c2:‘‘,
    c3:‘‘
  },
  methods:{
    isGet:function(val){
      switch(val){
        case 1:this.keet = "first";this.c1=‘add_active‘;
          this.c2="";this.c3="";break;
        case 2:this.keet = "second";this.c1="";this.c2="add_active";
          this.c3="";break;
        case 3:this.keet = "third";this.c1="";this.c2="";
          this.c3="add_active";break;
      }
    }
  },
  components:{
    first:{
      template:"<div>1</div>"
    },
    second:{
      template:"<div>2</div>"
    },
    third:{
      template:"<div>3</div>"
    }

  },
  ready:function(){

  }

})
//css
.area1{display:inline-block;width:80px;height:80px;border:1px solid #ccc;}
div div{width:200px;height:200px;background:#abcdef;line-height:200px;
margin-top:20px;text-align:center;font-size:30px;}
.add_active{border:1px solid #f00;}

//预览结果

时间: 2025-01-02 00:19:46

vue组件中 IS 用法的相关文章

vue组件中使用iframe元素

需要在本页面中展示vue组件中的超链接,地址栏不改变的方法: <template> <div class="accept-container"> <div class="go-back" v-show="goBackState" @click="goBack">GoBack</div> <ul> <li v-for="item in webAddres

vue组件中的样式属性:scoped,解决在父组件中无法修改子组件样式问题

Scoped CSS规范是Web组件产生不污染其他组件,也不被其他组件污染的CSS规范. vue组件中的style标签标有scoped属性时表明style里的css样式只适用于当前组件元素,它是通过使用PostCSS来改变以下内容实现的: <style scoped> .example { color: red; } </style> <template> <div class="example">hi</div> </

vue组件中的style scoped中遇到的问题

在uve组件中我们我们经常需要给style添加scoped来使得当前样式只作用于当前组件的节点.添加scoped之后,实际上vue在背后做的工作是将当前组件的节点添加一个像data-v-1233这样唯一属性的标识,当然也会给当前style的所有样式添加[data-v-1233]这样的话,就可以使得当前样式只作用于当前组件的节点.但是我们需要注意的是如果我们添加了子组件,同样的,如果子组件也用scoped标识了,那么在父组件中是不能设置子组件中的节点的.若父组件有scoped,子组件没有设置,同样

vue组件中click事件失效

最近使用vue学习开发移动端的项目,使用了bette-scroll插件做滚动.在引入better-scroll的组件中使用@click事件的时候,点击事件失效,v-on:click.v-bind:click.@click.native都不行,试了一下@touchstart是却是可以的,发现better-scroll的配置中没有设置click:true,设置过之后click事件成功. 后来在使用vuex的时候一直报"[vuex] unknown mutation type: changeCity&

Vue 组件中 移动 this.$el 的注意事项

比如, mounted () { document.body.appendChild(this.$el); // insertAdjacentElement // insertBefore}, 这几行代码会导致 dom 元素位置  与 VNode 期望的位置不一致 比如: --------------------------------------- 父组件: div(id='p') h1 第1个 button(@click="add") 新增 p(v-for="(item,

Vue组件的高级用法

1,递归组件 <!-- 递归组件: 组件在它的模板内可以递归的调用自己,只要给组件设置name组件就可以了. 设置那么House在组件模板内就可以递归使用了,不过需要注意的是, 必须给一个条件来限制数量,否则会抛出错误: max stack size exceeded 组件递归用来开发一些具体有未知层级关系的独立组件.比如: 联级选择器和树形控件 --> 父组件 <recursion:count="1"></recursion> // recursi

Vue组件中的父子传值

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

nuxtjs在vue组件中使用window对象编译报错的解决方法

我们知道nuxtjs是做服务端渲染的,他有很多声明周期是运行在服务端的,以及正常的vue声明周期mounted之前均是在服务端运行的,那么服务端是没有比如window对象的location.navagitor等,以及H5的FormData()方法,所以当你在created之前使用这些时,会报错,那么如何处理呢? 1.自己的写的函数里包含window等 因为nuxt为SSR框架,所以其编译打包时会区分服务端渲染还是客户端渲染(即浏览器),在vue文件中使用window对象报错的原因是,webpac

vue组件中的通信

一.组件间的关系 1.父子关系 2.兄弟关系 3.隔代关系 二.组件间的通信方式 1.props 2.$emit/$on 3.VUEX 4.$parent/$children 5.$attrs/$listeners 6.provide/inject 三.通信方式举例 新建了一个过程,采用webpack来管理项目.  方法一:props / $emit 1.props---父组件向子组件传值 子组件:sub1.vue 父组件:app.vue 父组件通过props向下传递给子组件.注:组件中的数据共