尝试获取模板中的当前路由名称,并将其传递到路由器链接(即,将当前路由传递到登录视图,以便在用户通过身份验证后返回用户)。
它按预期工作,但在进行类型检查时,我得到:
The '+' operator cannot be applied to type 'symbol'.
:to="'/signin/' + $route.name".
~~~~~~~~~~~
我的代码很简单:
<RouterLink
v-if="!userState.signedIn"
:to="'/signin/' + $route.name"
>Sign in</RouterLink
>
有没有一种方法可以让我注解代码或者其他什么东西,这样Typescript就可以理解$route.name实际上是一个字符串?或者可以用不同的方法获得路由名称?
按照TJ Crowder在评论中的建议,我可以使用以下命令将属性转换/强制转换为字符串:
:to="'/signin/' + String($route.name)"
...但我猜如果$router.name
以symbol
的形式出现,则会失败。找不到值何时会是symbol
而不是string
。
1条答案
按热度按时间nzk0hqpo1#
试试这样写