У меня есть компонент, у которого есть свойство данных, называемое строками, которые используются для заполнения динамической таблицы (я использую Datatables).У меня есть вычисленное свойство под названием clientLeads, которое загружает данные хранилища.У меня есть функция наблюдения, которая следит за вычисленным свойством clientLeads и обновляет свойство данных rows.
Я хотел бы использовать компонент router-link для создания ссылки Vue JS Router на страницу профиля.
Вот компонент Datatables (src: https://codepen.io/stwilson/pen/oBRePd):
<script>
import 'datatables.net-bs4'
import jQuery from 'jquery'
export default {
template: '<table class="table table-striped dt-responsive nowrap" style="width:100%"></table>',
props: {
headers: {
default () {
return {}
}
},
rows: {
default () {
return []
}
}
},
data () {
return {
dTHandle: null
}
},
watch: {
rows (val, oldVal) {
let vm = this
vm.dtHandle.clear()
vm.dtHandle.rows.add(vm.rows)
vm.dtHandle.draw()
}
},
mounted () {
let vm = this
vm.dtHandle = jQuery(this.$el).DataTable({
classes: {
sWrapper: 'dataTables_wrapper dt-bootstrap4'
},
columns: vm.headers,
data: vm.rows,
searching: false,
paging: false,
info: true,
responsive: {
details: {
type: 'column'
}
}
})
}
}
</script>
А вот мой компонент вида:
<template>
<div>
<data-tables :headers="headers" :rows="rows" />
</div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
data () {
return {
headers: [
{ title: 'Name' },
{ title: ' ' }
],
rows: []
}
},
computed: mapGetters({
clientLeads: 'clientLeads'
}),
watch: {
clientLeads (val, oldVal) {
let vm = this
let rows = []
val.forEach(function (item) {
let row = []
row.push(item.name)
row.push('<router-link to="/lead_details/' + item.id + '"><a><i class="fa fa-eye"></i></a></router-link>')
rows.push(row)
})
vm.rows = rows
}
},
created () {
// get leads
this.$store.dispatch('getClientLeads', {
status: this.status
})
}
}
</script>
Тем не менее, полученный html:
<router-link to="/lead_details/123"><a><i class="fa fa-eye"></i></a></router-link>
... вместо:
<a href="/lead_details/123"><i class="fa fa-eye"></i></a>
Я понимаю, почему, но не могу найти обходной путь для решения моей проблемы.