Ich denke, ich werde dumm fühlen, sobald ich die Antwort sehe, aber ich kann nicht meinen Kopf darum herum, warum or
funktioniert, aber and
ist nicht auf diese ComputedProperty
. Das Tutorial schlug vor, ich müsste and
verwenden, aber ich kann nicht herausfinden, wie ich das machen würde, wenn das nicht funktioniert.Warum funktioniert "oder" aber "und" nicht in meiner Ember.ComputeProperty?
Am Anfang bin ich neu in Ember und vertraut, aber nicht wirklich komfortabel mit Javascript, weshalb ich vermute, ich habe Schwierigkeiten zu verstehen, was hier vor sich geht.
Ich habe zwei Eigenschaften, die ich beide sein muss true
vor einer Schaltfläche isDisabled
. Ich gebe jedes von ihnen an ihre eigenen Eigenschaften weiter, die ihren booleschen Zustand umkehren, also bleibt isDisabled
auf einem Knopf aktiv, bis die ursprünglichen Eigenschaften beide gekippt werden.
contact.js
emailAddress: '',
message: '',
//**original properties**
isValid: Ember.computed.match('emailAddress', /^[email protected]+\..+$/),//starts as false
validMessage: Ember.computed.gte('message.length', 5),//starts as false
//**my reversing boolean properties**
notYet: Ember.computed.not('isValid'),//starts as true
notNow: Ember.computed.not('validMessage'),//starts as true
//isDisabled must be true to be active disabling button
isDisabled: Ember.computed.or('notYet', 'notNow'),//starts as true
Wenn ich im richtigen Format emailaddress setzen:
emailAddress = true
notYet = false
isDisabled = true //still
Wenn ich legte eine validMessage von 5 Zeichen dann oder mehr
validMessage = true
notNow = false
isDisabled = false //now
Warum "oder" arbeite dafür, warum nicht "und" oder "nicht"?
Danke für die Antwort. Kurz gesagt, was ich sage ist: "Mein Code funktioniert, ich verstehe nicht, warum mein Code funktioniert." – Lenocam