Вывод: это была опечатка.
Я пробую что-то, что кажется простым, но я думаю, что упускаю что-то фундаментальное для Vue. У меня есть идентификатор и объект с дочерним свойством, которое содержит объект с этим идентификатором. Когда я перебираю свойства объекта для сравнения идентификатора, это ложь. Когда я записываю значения, которые сравнивались в операторе else после сравнения, они кажутся идентичными в журнале консоли.
Что бы я ни пытался сделать, я продолжаю попадать в строку "неверный пакет". Консоль показывает мне, что свойство объекта есть и что идентификатор объекта в этом свойстве правильный. Это выглядит так:
bad package c5186ae5-1558-490b-a9d2-5fc19c0a736d !== c5186ae5-1588-490b-a9d2-5fc19c0a736d
Я подозреваю, что это как-то связано с наблюдаемыми в Vue, даже если в журнале ничего не отображается как наблюдаемое.
Как правильно делать то, что я пытаюсь сделать?
// newVal = '29e51254-a88a-4309-92bc-ad1d0cda1427'
collectionIdForVerification (newVal) {
const parcelId = this.$store.state.parcels.collectionIdForVerification
// this print the object, it looks good
console.log('Parcels are ', this.requestedParcelsForCollection)
console.log('local parcels are ', this.local.parcels)
const loParcOb = JSON.parse(JSON.stringify(this.local.parcels))
console.log('local parcels are ', loParcOb)
console.log('does the parcel for ', newVal, ' exist? ', this.local.parcels[newVal])
if (newVal) {
const packages = loParcOb
console.log('lets check ', packages, ' for ', parcelId)
const rightPackage = loParcOb[parcelId]
console.log('right package is ', rightPackage)
for (let x in loParcOb) {
let ob = loParcOb[x]
console.log('object: ', ob)
if (ob.id.toString() === parcelId) {
console.log('good pagage ', ob)
} else {
// this shows me that the two compared things are equal
console.log('bad package ', ob.id.toString(), ' !== ', parcelId)
}
}
}
}
Объект:
// object
{
displayImage: "https://static.xxxx.co/couriers/dhl/dhl_detail.png"
expiration: 1573486971237
id: "29e51254-a88a-4309-92bc-ad1d0cda1427"
name: "MacBook from YYYY"
passcode: ""
recipient: {xxxId: "0cbf8068-a286-49c5-bdf7-7509ac953b5f", yyyId: "b925b763-992e-4ad3-98b1-ba8fba2ef37e"}
sender: {xxxId: "9cad32d0-6724-414b-a686-a8e133db2225", yyyId: "997eeab8-a698-4027-93d3-43ca5d6ee121"}
slotHeight: 2
startingSlot: 37
status: "IN_STATION"
trackingNumber: "A123456002"
}