data: function () {
return {
cityData: cityData,
selectedOptions:this.source[this.schema_key]
}
}
This.source[this.schema_key] sur la console est la suivante
[24, 81, __ob__: Observer]
Existe-t-il un moyen d'obtenir directement ces données
[24, 81]
__ob__ : Observer
Ces données sont des moniteurs définis par le framework vue pour les données et sont généralement non dénombrables.__ob__: Observer
这些数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。console.log
这样的打印函数,被打印的变量会执行自身的toString()
,这样,即便内部属性是不可枚举,实际上也能看到。举个例子:因为你已经将数据绑定在了vue之中,vue就肯定要为数据添加监控器的,如果你强制删掉了这些监控器,那么这些数据也就失去了监控,那么你使用vue的意义何在……
如果仅仅是去掉这些监控器而不考虑后果的话,把对象复制一份就行了,因为复制的对象是不包含不可枚举属性的。
js这类动态语言,复制对象是个很头疼的事情。我写了个简单的,你可以参考一下:
在外面直接用
Pour les fonctions d'impression commeclone()
console.log
, la variable imprimée exécutera son propretoString()
De cette façon, même si les propriétés internes ne sont pas énumérables, elles peuvent en fait. être vu arriver. Par exemple : 🎜 rrreee 🎜Étant donné que vous avez lié les données dans vue, vue doit ajouter des moniteurs pour les données. Si vous supprimez ces moniteurs de force, les données perdront la surveillance, alors à quoi sert vue Où est...🎜 ?🎜Si vous supprimez simplement ces moniteurs sans considérer les conséquences, copiez simplement l'objet, car l'objet copié ne contient pas d'attributs non énumérables. 🎜 rrreee
🎜Dans les langages dynamiques comme js, copier des objets est un casse-tête. J'en ai écrit un simple, vous pouvez vous y référer : 🎜 rrreee 🎜Utilisez simplement la méthode
clone()
directement à l'extérieur. 🎜Cela n'a aucun impact sur les données~
De même, résolvez-le. . . .