We have a general lack of two-way bindings (and for a reason, they're not trivial in async world). Using Binding { } is preferable over assignment in a signal handler, though.
And yeah, the original binding is destroyed because the component assigns a value to its "checked" property, so the binding has nowhere to "live" any more. Having an explicit Binding { } object works around this. Because "checked" changes onClick anyway, you should probably use a Binding the other way, too, instead of assigning to systemSettings.rotationLock.
We have a general lack of two-way bindings (and for a reason, they're not trivial in async world). Using Binding { } is preferable over assignment in a signal handler, though.
And yeah, the original binding is destroyed because the component assigns a value to its "checked" property, so the binding has nowhere to "live" any more. Having an explicit Binding { } object works around this. Because "checked" changes onClick anyway, you should probably use a Binding the other way, too, instead of assigning to systemSettings. rotationLock.