Perspective property binding with expression transform behaves differently than equivalent expression

This binding:

Behaves differently from this binding:

They should behave identically. However when I try to lookup data from the resulting dataset of the first binding the result is not consistent (it keeps changing).

Any ideas?

My guess is that the top way you’re only subscribing to changes on the property this.custom.recipeBuilder. I believe that value has to change before the following expression is evaluated.

With the second image, any of the changes will cause the event to fire.

I don’t believe so. The recipe builder property is the result of a SQL binding that only runs once.

Try testing with a simpler expression, say with just the property value and one other property. No indirection. Change one then the other to see what happens. Add more complexity a bit at a time until you understand what is happening. And for pity’s sake, don’t add back any tag() functions.

In doing what Phil says, I would actually break this sort into three different bindings

Two indirect tag bindings, then use if(isGood(tag1), tag1, tag2) for the part checking quality against your new tag binding

1 Like

Phil, I knew you were going to say that about the tag() function. :wink: However due to the complex nature of the binding, I couldn’t use indirect tags unless I do what Keith is saying. I hadn’t thought of that approach and will examine that as an alternative.

Still, I am curious why two functionally identical binding don’t behave the same.

Could be that when you do it all in the expression it works no problem, but when you do it as a transform it’s treating {value} as an ObjectWrapper object instead of a string?