ember-set-helper
ember-set-helper copied to clipboard
Documentation around setting nested keys
Have just spent about an hour trying to convert this:
oninput={{action (mut this.creativeForForm.shareContent.shareCommentary.text) value="target.value"}}
into this:
{{on "input" (pick "target.value" (set this "creativeForForm.shareContent.shareCommentary.text"))}}
I would have expected this to work per your docs, since the format generally appears to be set thisContext "path" newValue
, though after a while it apparent that no examples of nested paths are actually provided in the docs. It says dynamic paths can be provided
, but still sticks to the syntax of set thisContext pathExpressedAsVariable
.
Eventually through trial and error, I discovered that
{{on "input" (pick "target.value" (set this.creativeForForm.shareContent.shareCommentary.text))}}
works, although this is not documented at all (but is the same format as mut
but this style isn't mentioned once in the docs). Given your API for everything else, I even would have expected
{{on "input" (pick "target.value" (set this.creativeForForm.shareContent.shareCommentary "text"))}}
over the one that actually ended up working.
Would appreciate a callout added to the docs on how exactly setting nested paths should be achieved then as I don't want to be using an undocumented method if this is not stable. Thanks!
In fact if you follow your documentation to do set this 'path' value
it actually gives an error in the build, the (set) helper can only recieve 2 arguments at most, recieved: 3l
. (received)
...all the examples have 3 arguments :) It seems like the documentation needs updating generally.