Vue.js 插入<;路由器链路>;作为VueJS中的计算值输入字符串

Vue.js 插入<;路由器链路>;作为VueJS中的计算值输入字符串,vue.js,vue-router,computed-properties,Vue.js,Vue Router,Computed Properties,我在一个组件中有一个用例,其中在一个描述字符串(包含为元素中的文本)中,我希望一个特定单词被一个内部链接替换,如果用户已登录(由另一个变量的值确定),则使用“`替换,如果没有,则使用默认文本。通常我会使用一个计算值来处理类似的事情,但我不能让它只返回路由器链接。文本相当长,因此我不想在计算值中包含所有文本 以下是我尝试过的: computed: { accountPageLink() { return this.authUserIsAccountOwner ?

我在一个组件中有一个用例,其中在一个描述字符串(包含为元素中的文本)中,我希望一个特定单词被一个内部链接替换,如果用户已登录(由另一个变量的值确定),则使用“`替换,如果没有,则使用默认文本。通常我会使用一个计算值来处理类似的事情,但我不能让它只返回路由器链接。文本相当长,因此我不想在计算值中包含所有文本

以下是我尝试过的:

computed: {
  accountPageLink() {
      return this.authUserIsAccountOwner ?
          '<router-link :to="/account"></router-link>' :
          'Account';
    }
}
计算:{
accountPageLink(){
是否返回此.authUserIsAccountOwner?
'' :
“账户”;
}
}
但这只是返回一个字符串,如果我从链接中删除引号,我会得到一个错误,即
当前未启用对实验语法“jsx”的支持


有没有一种方法可以实现我想做的,只需动态替换字符串中的一个单词?

我通常在模板中执行此逻辑

编辑帐户
账户
或者,您可以将此计算的HTML传递到元素的
v-HTML
绑定中:


如果要进行模式匹配以查找要替换的单词,可以在computed属性中进行匹配,并使用
v-html
绑定将其插入到模板元素中。例如:


var app=新的Vue({
el:“#应用程序”,
数据(){
返回{
someText:“Lorem ipsum dolor账户位于amet”,
authUserIsAccountOwner:对,
};
},
计算:{
linkifiedText(){
返回此文件。authUserIsAccountOwner
?此.someText.replace('account','')
:this.someText;
},
}
});

我通常在模板中执行此逻辑

编辑帐户
账户
或者,您可以将此计算的HTML传递到元素的
v-HTML
绑定中:


如果要进行模式匹配以查找要替换的单词,可以在computed属性中进行匹配,并使用
v-html
绑定将其插入到模板元素中。例如:


var app=新的Vue({
el:“#应用程序”,
数据(){
返回{
someText:“Lorem ipsum dolor账户位于amet”,
authUserIsAccountOwner:对,
};
},
计算:{
linkifiedText(){
返回此文件。authUserIsAccountOwner
?此.someText.replace('account','')
:this.someText;
},
}
});