vue中动态加载组件+开发者模式+JS参数值传递和引用传递

今天写vue里面通过接口反参动态加载组件时候 跟着同学。。。学习到了 一、先说说vue 内置组件 component 的用法 component组件可以来专门用来进行组件的切换,使用is来绑定你的组件名,本次系统写的比较简单。。。 此处::is='组件名'可以直接条用组件。 因为全页面有十个组件加载,所以用到了循环、数组。就遇到了在方法里可以打印数组里的值,但绑定组件名的地方获取不到的问题。 后来加上了一个数组b,并把b数组的值赋值给a。a就可以获取到了。就是实现了动态加载组件。 二、观察者模式 我需要遍历的数组值更新了,值也赋值了,为什么视图不更新?这个问题网上也有很多解释。 数组之所以获取不到是因为绑定中的观察者模式没有检测到b数组的改变,补习了一下观察者模式。https://blog.csdn.net/xidongdong1/article/details/78613654 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。 何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。 如何解决:使用面向对象技术,可以将这种依赖关系弱化。 关键代码:在抽象类里有一个 ArrayList 存放观察者们。 在vue中model被定义为观察者,而view里面进行一处或多处依赖数据绑定即为观察者。https://www.cnblogs.com/pi-xia/articles/9351432.html中还列举了一些被观察者对观察者的控制方法。 当a赋值为b后才被观察者模式检测到,由此也补习了点JS参数值传递和引用传递的知识 三、JS参数值传递和引用传递 字符串、数字、布尔、数组、对象、Null、Undefined 由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof关键字. typeof 123   //Number //NaN/isNaN typeof 'abc'  //String typeof true //Boolean //true/false typeof undefined //Undefined typeof null //Object //被当一个空对象引用了 typeof { } //Object typeof [ ] //Object typeof console.log() //Function 三大引用类型:object /Array/Function (按存储类型) 值类型,复制值 引用类型,复制值,但其实是地址,实际上是指针。两个变量都保存了同一个对象地址,则这两个变量指向了同一个对象。因此,改变其中任何一个变量,都会相互影响 可以这样理解 数组里的值改变之后,观察者监听的是a的值,其实是地址,但地址值并没有改变。所以监听不到。而a[]=b[]后,地址值改变就监听到了。 下面的代码: var a=[1,2,3] function aaa(b){ b.push(4) } aaa(a) alert(a)// [1,2,3,4] 这里b、a所指地址一样,所以b加了值4,a中的值也改变了。 此外,值类型赋值应该是存储的就是a1=3,这样的值。 这是我目前的理解,这都是以前看过的东西,没有深刻理解,就忘记了。基础的东西不应该忘呀! 有问题的地方欢迎指正。。。谢谢 https://www.cnblogs.com/lian-dong/p/9777172.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信