-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUGFIX release] willRender
is called for attributeBindings
changes.
#11569
[BUGFIX release] willRender
is called for attributeBindings
changes.
#11569
Conversation
template: compile('{{the-top}}'), | ||
container: container | ||
}).create(); | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This test is testing components, so why is scope.component
not set? Surely it goes through the ComponentNodeManager
? Am I just misunderstanding the test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that this seems somewhat fishy. It is possible that this fix is still correct, but I'd like to figure out why scope.component
is not set before we decide to pull the trigger on it.
Does this fix #11533? I know its already fixed with another PR but this I think could have also fixed it |
@jmurphyau - Yes, that is exactly what made me start thinking about this. Specifically, |
f2d25ab
to
ca23fea
Compare
@tomdale - I tracked down why
So it isn't possible that I have updated the code in |
Depending on which node-manager was used, `scope.view` or `scope.component` might be used (but not both). For `attributeBindings` case `scope.component` was not set, therefore the various hooks were not being called properly.
Any bound properties supplied for things like `current-when` or `activeClass` would not be properly be used. This is due to our default of two way bindings. In the case of a bound CP specified for `activeClass`, `this.attrs.activeClass` would not be a string, it will be a "Mutable Object". This commit changes to use `this.getAttr` which automatically unwraps the mutable object.
ca23fea
to
27a7d64
Compare
Depending on which node-manager was used,
scope.view
orscope.component
might be used (but not both). ForattributeBindings
casescope.component
was not set, therefore the various hooks were not being called properly.