get(url, [data], [success], [options])
post(url, [data], [success], [options])
put(url, [data], [success], [options])
patch(url, [data], [success], [options])
delete(url, [data], [success], [options])
jsonp(url, [data], [success], [options])
具模余体举例如下:
1、导入vue-resource
<script src="js/vue.js"></script>
<script src="js/vue-resource.js"></script>
2、基于全局Vue对象使用http
// 通过someUrl获取后台数据,成功后执行then的代码
Vue.http.get('/someUrl', [options]).then(successCallback, errorCallback)
3、在一个Vue实例内使用$http
// $http是在vue的局部范围内的实例
this.$http.get('/someUrl', [options]).then(successCallback, errorCallback)
说明:
在发送请求后,使用then方法来处理响应结果毁誉,then方法有两个参数,第一个参数是响应成功时的回调函数,第二个参数是响应失败时的回调函数。
Vue 实例的数据对象。Vue.js 会递归地将它全部属性转为 getter/setter,从而让它能响应数据变化。这个对象必须是普通对象:原生对象,getter/setter 及原型属性会被忽略。不推荐观察复杂对象。在实例创建之后,可以用 vm.$data 访问原始数据对象。Vue 实例也代理了数据对象所有的属性。
在定义组敏洞件时,同一定义将创建多个实例,此时 data 必须是一个函数,返回原始数据对象。如果 data 仍然是一个普通对象,则所有的实例将指向同一个对象!换成函数后,每当创建一个实例时,会调用这个函数,返回一个新的原始数据对象的副本。
以上内档拿碧容均来自官网,说得很清楚啊。
文件写成.vue的文件就是组件的写法,因此这时data必须是一个函数,而你贴的var vm = new Vue({})是直接跑在浏览器环境下的用法,这时data可以是一个行举普通对象,也可以写成一个返回普通对象的函数,不过没必要。
示例:
点击button会发现薯裂, obj.b 已经成功添加,但是视图并未刷新:
原因在于在Vue实例创建时, obj.b 并未声明,因此就没有被Vue转换为响应式的属性,自然就不会触发视图的更新,这时就需要使用Vue的全局api—— $set():
$set() 方法相当于手动的去把 obj.b 处数租闭理成一个响应式型圆的属性,此时视图也会跟着改变了:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)