You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
wf:temp_id() returns a value like "temp12345", which is handled specifically by the above lines. This highlights a bit of a wart of Nitrogen, in that the prefix "temp" is treated specially as an element id. This is because most elements are expected to have an ID that's an atom, but due to Erlang's lack of atom GC, we cannot willy-nilly create atoms or we'd crash the VM.
So temp IDs are created as strings, and then the prefix "temp" is treated specially when wiring actions, leading to potentially unexpected behavior.
The current method works, but again, but can be confusing as to why wf:wire("temp1234", ...) successfully wires to an element with the ID temp1234, while wf:wire("foo1234", ...) will not work.
Need an elegant and consistent solution to this.
The text was updated successfully, but these errors were encountered:
Regarding these line:
https://github.com/nitrogen/nitrogen_core/blob/master/src/lib/wf_render_actions.erl#L184-L189
wf:temp_id() returns a value like "temp12345", which is handled specifically by the above lines. This highlights a bit of a wart of Nitrogen, in that the prefix "temp" is treated specially as an element id. This is because most elements are expected to have an ID that's an atom, but due to Erlang's lack of atom GC, we cannot willy-nilly create atoms or we'd crash the VM.
So temp IDs are created as strings, and then the prefix "temp" is treated specially when wiring actions, leading to potentially unexpected behavior.
The current method works, but again, but can be confusing as to why
wf:wire("temp1234", ...)
successfully wires to an element with the IDtemp1234
, whilewf:wire("foo1234", ...)
will not work.Need an elegant and consistent solution to this.
The text was updated successfully, but these errors were encountered: