Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 数据链路转换?和=十六进制_Javascript_Html_Angularjs_Angular - Fatal编程技术网

Javascript 数据链路转换?和=十六进制

Javascript 数据链路转换?和=十六进制,javascript,html,angularjs,angular,Javascript,Html,Angularjs,Angular,我有个问题 在我的专业项目中,在.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}">

我有个问题

在我的专业项目中,在.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>`;
task.description=`
开始聊天
`;
在前面,如果一个用户做了一个控制台日志,我的链接是正确的:

/人才/供应商/5679764aba9?类别=搬运工

相反,当我点击按钮时,我得到了这样的信息:(如果a在我的前面做控制台日志,或者甚至在我的inspector中查看时,链接是正确的,当我点击按钮时它不工作)

/人才/供应商/5679764aba9%3F类别%3移动者

正确链接中的“?”现在是“%3F”,而“=”是“%3D”,事实上,这只改变了这些字符的十六进制值,我不明白为什么


我不知道我说的话是否可以理解,所以如果需要的话可以问这个问题

这已经被编码,你可以用

decodeURI(YOURURL)
看一看,


我将变量像这样集成在前面

<div *ngIf="task.description" [innerHtml]="task.description | safehtml" routeDirective></div>


我认为这是一个关键时刻,使用innerHTML,它对我的链接进行编码显然,我需要在这个函数中添加一个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:});
    } 
  }

}

它是URL编码的值。试试空白``将变成
%20
事实上,链接只有在我点击按钮时才被编码,而不是在.js中,所以我可能需要在我的html页面中解码?你只试过用div吗<代码>是,但它不工作,如果我这样做,按钮将无法识别