@afeefa/vue-app 0.0.348 → 0.0.349

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 0.0.348
1
+ 0.0.349
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@afeefa/vue-app",
3
- "version": "0.0.348",
3
+ "version": "0.0.349",
4
4
  "description": "",
5
5
  "author": "Afeefa Kollektiv <kollektiv@afeefa.de>",
6
6
  "license": "MIT",
@@ -32,9 +32,18 @@ export default class FormFieldSelect extends Mixins(FormFieldMixin) {
32
32
  // created() nicht erneut. Ändert sich dabei das angebundene Feld (name) oder
33
33
  // dessen optionRequestParams, müssen die Options neu geladen werden – sonst
34
34
  // zeigt das Select die Optionen des vorherigen Felds.
35
+ //
36
+ // Vergleich per Wert (nicht per Referenz): Ein als Inline-Objekt übergebenes
37
+ // optionRequestParams (:optionRequestParams="{ key: value }") erzeugt bei
38
+ // jedem Re-Render eine neue Referenz, obwohl sich der Inhalt nicht ändert.
39
+ // Würde der Watch darauf neu laden, entstünde eine Endlosschleife
40
+ // (reloadOptions → optionsLoaded → State-Änderung → Re-Render → neue Referenz).
35
41
  @Watch('name')
36
42
  @Watch('optionRequestParams')
37
- onFieldChanged () {
43
+ onFieldChanged (newValue, oldValue) {
44
+ if (JSON.stringify(newValue) === JSON.stringify(oldValue)) {
45
+ return
46
+ }
38
47
  this.reloadOptions()
39
48
  }
40
49