как перемещаться по странице при нажатии кнопки или тега привязки в angular 4 с помощью jquery datatable

Я показываю список пользователей с jquery datatable, в то время как данные поступают со стороны сервера в angular 4, и каждая запись имеет кнопку/ссылку для перехода на другую страницу

код jquery находится ниже в моем файле component.ts

ngAfterViewInit(): void {

      var table =$('#example-table').DataTable({
        pageLength: 10,
        processing: true,
        serverSide: true,
        fixedHeader: true,
        responsive: true,
        aaSorting: [[ 0, "asc" ]],
        dom: '<"html5buttons"B>lTfgitp',
        buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'print',
            'colvis'
        ],
        "ajax": {
            url:environment.basic_api_url+'user/listdt',
            headers: { 'Usertoken': tokenKey }

        },
        "columns": [
            { "data":"row_id","serachable":false},
            { "data": "name" },
            { "data": "email","orderable":false },
            { "data": "mobile","orderable":false },
            { "data": "created_at"},
            { "data": "user_id","render": function(data, type, row, meta){

              if(type === 'display'){
                  data = '<a routerLink="/user/'+data+'">View</a>';
              }

              return data;
           } }
        ],
        language: {
          buttons: {
            colvis: '<i class="ti-view-grid"></i>'
          }
        }
      });

в приведенном выше коде есть строка вроде

<a routerLink="/user/'+data+'">View</a>

теперь приведенный выше код хорошо отображается, как я хочу, но когда я нажимаю кнопку просмотра, действия не происходит, и если я добавляю замену routerlink на href, тогда страница перемещается (перекомпилируйте код, чтобы вся страница была перестроена, т.е. не перемещалась, как должна) как в angular), но это занимает много времени, поэтому, пожалуйста, помогите, как ориентироваться в этом с angular4


person Manoj Rana    schedule 14.12.2017    source источник
comment
Я предполагаю, что у вас есть путь конфигурации маршрута для /user/:user_id?   -  person Hugo Noro    schedule 14.12.2017
comment
да, у меня есть конфигурация   -  person Manoj Rana    schedule 14.12.2017


Ответы (1)


Я считаю, что вам не хватает символов привязки []

Вы должны иметь

<a [routerLink]="/user/'+data+'">View</a>

Потому что вы передаете динамическую привязываемую переменную.

Без скобок ссылка маршрутизатора ожидала бы статического строкового значения. Он не будет оценивать выражение

person Hugo Noro    schedule 14.12.2017
comment
я уже сделал это, ничего не происходит, когда я нажимаю кнопку - person Manoj Rana; 14.12.2017
comment
Что ж, по коду, представленному в вопросе, вы этого не делаете. Так что это может быть причиной - person Hugo Noro; 14.12.2017