如何处理hyperscript中go命令需stringLike而非表达式的URL跳转?
解决hyperscript中go命令动态URL跳转的问题
你遇到的问题是hyperscript的go命令要求URL参数为stringLike类型,无法直接在URL中使用{this.value}这类表达式。以下两种方法可以实现基于输入值的动态跳转:
方法一:用set命令提前构造URL
先通过set将动态拼接的URL存入变量,再让go命令使用该变量(变量属于stringLike类型,符合命令要求):
<input class="new-item" name="description" value="" placeholder="e.g. travel, backpacking, etc." _="on keyup[key is 'Enter'] set url to `/checklists/${this.value}` go to url" enterkeyhint="send" />
方法二:直接使用原生location.href跳转
跳过go命令的限制,直接用浏览器原生的跳转方式,在hyperscript中可以直接执行JS表达式:
<input class="new-item" name="description" value="" placeholder="e.g. travel, backpacking, etc." _="on keyup[key is 'Enter'] location.href = `/checklists/${this.value}`" enterkeyhint="send" />
两种方案都能满足需求:方法一更贴合hyperscript的命令式风格,方法二更简洁直接,可根据实际场景选择。
内容的提问来源于stack exchange,提问作者Zak
相关产品推荐
相关产品推荐

