我有问题。
在我的专业项目中,在.js文件中,创建一个带有按钮的div,以将该值与对象相关联。
这是他们在.js变量中“创建”按钮的方式。
task.description = `
<div>
<button class="btn btn-warning btn-md m-b-s"
data-link="/talent/vendors/${category._id}?category=${category.title}">
START CHAT
</button>
</div>`;
在前面,如果执行控制台日志,则我的链接是正确的:
/ talent / vendors / 5679764aba9?category =移动器
代替此操作,而是单击按钮:(如果控制台在我前面登录,或者甚至当我在检查器中查看时,该链接都是正确的,那么当我单击该链接时,它将不起作用点击按钮)
/ talent / vendors / 5679764aba9%3Fcategory%3DMovers
“?”现在正确的链接中的字符是'%3F','='是'%3D',实际上,只能通过十六进制值更改这些字符,而我不明白为什么。
我不知道我说的话是否很容易理解,请问是否需要。
答案 0 :(得分:0)
答案 1 :(得分:0)
我在前面集成了这样的变量
<div *ngIf="task.description" [innerHtml]="task.description | safehtml" routeDirective></div>
我想这是现在,使用innerHTML,它可以编码我的链接
答案 2 :(得分:0)
显然,我需要在此函数中添加一个queryparams来强制对URL进行解码,但我不知道我需要在此queryparams中写什么
export class routeDirective {
constructor(private el: ElementRef, private router: Router) {}
@HostListener('click', ['$event.target']) onClick($event) {
const goRoute = $event.getAttribute('data-link');
if (!!goRoute) {
this.router.navigate([goRoute], {queryParams:});
}
}
}