gpt4 book ai didi

javascript - 如何使用 vue-router 和 router-link 处理在 jquery 模块(例如数据表)中动态创建的链接?

转载 作者:行者123 更新时间:2023-12-01 05:21:09 25 4
gpt4 key购买 nike

我尝试了一段时间将 datatables.net ( https://datatables.net/ ) 与 Vue 应用程序“集成”。

最终,我偶然发现了一些评论,这些评论基本上建议不要尝试集成,而是要利用 jquery 模块,并通过安装/创建的事件“ Hook ”它们。

因此,本着这种精神,我的以下代码几乎可以工作

<template>
<table aria-describedby="feedback-history_info" role="grid" id="feedback-history" class="table table-bordered table-striped dataTable">
<thead>
<tr role="row">
<th>ID</th>
<th>Created Date</th>
<th>Project</th>
<th>Reviewer</th>
<th>Status</th>
</tr>
</thead>
<tfoot>
<tr>
<th>ID</th>
<th colspan="1" rowspan="1">Created Date</th>
<th colspan="1" rowspan="1">Project</th>
<th colspan="1" rowspan="1">Reviewer</th>
<th colspan="1" rowspan="1">Status</th>
</tr>
</tfoot>
</table>
</template>

<script>
import $ from 'jquery'

// Require needed datatables modules
require('datatables.net')
require('datatables.net-bs')

import moment from 'moment'

export default {
name: 'Feedback',
data() {
return {}
},
mounted() {
$('#feedback-history').DataTable({
"ajax": "/index.sjs?list",
"processing": false,
"serverSide": true,
"columns": [
{
"data": "id"
},
{
"data": "created"
},
{
"data": "projectName"
},
{
"data": "reviewer"
},
{
"data": "status"
}
],
"columnDefs": [{
"render": function(data, type, row) {
return moment(parseInt(data)).format('MMMM Do YYYY');
},
"targets": 1
},
{
"render": function(data, type, row) {
// I want to use router-link similar to following
return `<router-link :to="{ name: 'FeedbackEdit', params: { feedbackId: ${ row.id } }}">${ row.projectName }</router-link>`

// To render as ...
// <a href="/edit/feedback/${row.id}">${data}</a>
},
"targets": 2
},
{
"visible": false,
"targets": [0]
}
]
})
}
}
</script>

<style>
</style>

唯一的问题是我的数据表单元格中链接的呈现。由于我使用的是 vue-router,我需要通过 router-link 来使用 vue-router 来“处理链接”。 (请参阅代码中的注释)。

感谢任何帮助。

最佳答案

最终我没有使用router-link。

相反,我使用了 vuex 并将足够的 session 信息保存到 vuex 存储中,以便在页面刷新时我可以适本地重新渲染 View 。

虽然从技术上讲,这是页面刷新或“页面翻转”,而不是使用 DOM(或 Shadow-DOM)操作 View 的响应式(Reactive) SPA 方式,但它确实在没有更好的方法。

关于javascript - 如何使用 vue-router 和 router-link 处理在 jquery 模块(例如数据表)中动态创建的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43579955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com