首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【Vue】淘气三千问之 data为什么是函数而不是对象?这河狸吗
】的更多相关文章
【Vue】淘气三千问之 data为什么是函数而不是对象?这河狸吗
朋友,当你提出以上问题的时候建议你先去复习下原型链的知识 但是我好人做到底直接就讲了吧,我们先看一下下面的这段代码: function Component () { this.data = this.data } Component.prototype.data = { name: '卡莲', gender: '女' } 以后再放链接: 我们来分析一下假如是以下这种情况: function Component(){ } Component.prototype.data = { name:'卡莲'…
Vue 数组封装和组件data定义为函数一些猜测
数组封装 var vm={ list:[0,1] } var push=vm.list.push;//把数组原来的方法存起来 vm.list.push=function(arg){//重新定义数组的push方法 push.call(this,arg);//调用老的push方法 console.log('数组增加项');//执行其他相关的程序 } 这里实际上新的push方法应该是放在__proto__里,上面这么写是方便理解 上面我定义了一个简单的push方法,在数组初始化的时候 用新定义的方法…
Vue.js 一问一答
Vue.js 一问一答 记录一下在学习 Vue 过程中给自己问的一些问题,持续更新中... Vue.js 的核心是什么? 官网:Vue.js 的核心是一个允许采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. 以下面的例子来说明: // Vue 中的模板语法 <div id="app"> {{message}} </div> var app = new Vue({ el: "#app", data: { message: "…
【Vue】定义组件 data 必须是一个函数返回的对象
Vue 实例的数据对象.Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化.对象必须是纯粹的对象 (含有零个或多个的 key/value 对):浏览器 API 创建的原生对象,原型上的属性会被忽略.大概来说,data 应该只能是数据 - 不推荐观察拥有状态行为的对象. 一旦观察过,不需要再次在数据对象上添加响应式属性.因此推荐在创建实例之前,就声明所有的根级响应式属性. 实例创建之后,可以通过 vm.$data 访问原始数据对象.Vu…
Vue 组件 data为什么是函数?
在创建或注册模板的时候,传入一个data属性作为用来绑定的数据.但是在组件中,data必须是一个函数,而不能直接把一个对象赋值给它. Vue.component('my-component', { template: '<div>OK</div>', data() { return {} // 返回一个唯一的对象,不要和其他组件共用一个对象进行返回 }, }) 你在前面看到,在new Vue()的时候,是可以给data直接赋值为一个对象的.这是怎么回事,为什么到了组件这里就不行了.…
Vue 组件 data为什么是函数
在创建或注册模板的时候,传入一个data属性作为用来绑定的数据.但是在组件中,data必须是一个函数,而不能直接把一个对象赋值给它. Vue.component('my-component', { template: '<div>hello Vue</div>', data() { return {} // 返回一个唯一的对象,不要和其他组件共用一个对象进行返回!!! }, }) 你在前面看到,在new Vue()的时候,是可以给data直接赋值为一个对象的.这是怎么回事,为什么到…
Vue 在beaforeCreate时获取data中的数据
众所周知,vue在beforecreate时期是获取不到data中的 数据的 但是通过一些方法可以实现在beforecreate时获取到data中的数据 暂时想到两种放发可以实现,vue在beforecreate时获得data中的数据 异步获取即:通过 $this.$nextTick或者settimeout,这连dom都可以拿出来 beforeCreate() { this.$nextTick(function() { console.log(th…
深入理解--VUE组件中数据的存放以及为什么组件中的data必需是函数
1.组件中数据的存放 ***(重点)组件是一个单独模块的封装:这个模块有自己的HTML模板,也有data属性. 只是这个data属性必需是一个函数,而这个函数返回一个对象,这个对象里面存放着组件的数据. <template id="MyCpn"> <div> <h2>组件数据的存放 </h2> <p>{{title}}</p> </div> </template> <script>…
黑马vue---61、为什么vue组件的data要是一个函数
黑马vue---61.为什么vue组件的data要是一个函数 一.总结 一句话总结: 因为js中以函数为变量作用域,所以这样可以保证每个组件的数据不互相影响 二.why components data must be a function <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport…
怎样理解 Vue 组件中 data 必须为函数 ?
组件意在 复用 , 若为 对象, 则会相互干扰. 且 Vue 不允许此事发生, 规定必须为函数, 否则报错. 原理如下 对象 // 模拟创建组件 var Component= function() {} // 模拟使用对象作data Component.prototype.data = { a: 1 } // 模拟使用组件 var component1 = new Component() var component2 = new Component() // 发现 data 共用, 相互影响 c…