get
步骤:
1、导入vue-resource包,所以可以直接通过this.$http来发起数据请求
2、根据接口API文档,知道获取列表的时候,应该发起一个get请求
3、this.$http.get(’url’).then(function(result){})
4、当通过then指定回调函数之后,再回调函数中,可以拿到数据服务器返回的result(数据格式是json)
5、先判断result.status是否等于0,如果等于0,就成功了,可以把result是一个对象,result.body.massage赋值给this.list;如果不等于0,可以弹框提醒,获取数据失败!
只有返回数据中的result.body.status=0,才说明这个请求成功。result.body.massage是返回结果里面的所有 信息,就会把所有能获取到的信息都返回给一个数组,进行储存或者显示
post
步骤分析:
1、经过查看数据API接口,要发送一个post请求,this.$http.post()
2、this.$http.post()中接受三个参数
- 第一个参数:要请求的url地址
- 第二个参数:要提交给服务器的数据,要以对象形式提交到服务器(name:this.name)
- 第三个参数:是一个配置对象,要以哪种表单数据类型提交过去,{emulateJSON:true},以普通表单格式,将数据提交给服务器application/x-www-form-urlencoded,这个参数一般是必须的,如果不传入的话,也可能会出问题。
3、再post方法中,使用.then来设置成功的回调函数,如果想要拿到成功的结果,需要result.body。
注意:第二个参数和第三个参数都是以对象形式进行传参,所以都要加{xxx},{xxx}
对{emulateJSON:true}进行全局配置,
1 | 在Vue实例之前进行添加一句 |
这样的话,会全局启用emulateJSON
如果我们通过全局配置了,请求的数据接口 根域名,则再每次单独发起http请求的时候,请求的url路径,应该以相对路径开头,强调,后面的相对路径前面不能带/,否则就不是相对路径。
vue中的动画
使用过渡类名
1、html结构
1 | <div id="app"> |
transition中的name=“”中的值是自定义的前缀,如果如上所示,则用fade-enter来进行动画控制。不自定义的话,直接就是v-enter。
2、vm实例
1 | //创建vue实例,得到viewmodel |
1 |
|
1 |
|
v-on:lever=”leave”
v-on:after-leave=”afterLeave”
v-on:leave-cancelled=”leaveCancelled”
1 | 都可以称作动画的生命周期函数,前一部分是进入,后一部分是离开。上述有八个事件,那么对应的在methods中也有对应的八个函数方法。来对此进行定义。如果只需要半场函数的话,那我们就只需要前面一部分的事件,而不需要后面一部分的事件。 |
}
1 | 当只用 JavaScript 过渡的时候,在 enter 和 leave 中必须使用 done 进行回调。否则,它们将被同步调用,过渡会立即完成。 |
.v-enter,
.v-leave-to{
opacity: 0;
transform:translateY(80px);
}
.v-enter-active,
.v-leave-active{
transition:all 0.6s ease;
}
1 | 在实现列表过度的时候,如果需要过渡的元素是通过v-for循环渲染出来的,不能使用transition包裹,需要使用transitionGroup包裹。 |
- ---
1 |
|
1 |
|
1 |
|
这是使用Vue.extend创建的组件
'//通过template属性,指定了组件要展示的HTML结构,将来要展示的具体内容 }) //2、使用Vue.component('组件的名称,将来要引用的名称',创建出来的组件模板对象) Vue.component('mycom1',com1)1 |
|
1 | 注意:在创建的时候,可以使用驼峰的方法来书写名称,但是在使用的时候,需要使用带-的方式来写,即把大写的驼峰改成小写的字母带-来表示。如果不写驼峰,直接拿名称就可以了。 |
1 |
|
这是直接使用Vue.component创建出来的组件
' })1 | 引用的时候,还是使用标签的形式,引入自己的组件。 |
1 |
|
这是通过template元素,在外部定义的组件结构,这个方式,有代码的只能提示个高亮
好用
1 |
|
这是私有的login组件
' } })1 | 调用,只能在控制的实例上app2上使用 |
1 |
|
这是一个全局组件---
', data:function(){ return{ msg:'这是组件中的data定义的数据' } } })1 |
|
1 | ~~~ |
组件切换
使用v-if和v-else结合flag进行切换
定义一个flag,让默认组件显示为v-if=”flag”,然后另外一个组件设置v-else=”flag”就可以了。
缺点就是只能切换两个画面,如果有三个以上的就需要另外的方法。
组件切换方式二
1 | <div id="app"> |
错误使用:<component :is="counter"></component>
因为组件名称是一个字符串,在component的is属性用了属性绑定,所以要写<component :is="'counter'"></component>
使用字符串将其绑定
总结:当前学习的vue标签:
1 | <component> template transition transitionGroup |
应用切换动画和mode方式
多个组件的过渡我们不需要使用key属性,我们只需要使用动态组件
1 | <transition name="component-fade" mode="out-in"> |
1 | new Vue({ |
mode属性的”out-in”指的是先出去的动画结束了才进来,也可以改成”in-out”就是先进来在出去
通过mode属性设置组件切换时候的模式。