Javascript 将带空格的div名称传递给Vue
我有一个表,在其中使用Vue动态创建div的ID。代码如下所示:Javascript 将带空格的div名称传递给Vue,javascript,jquery,html,vue.js,vuejs2,Javascript,Jquery,Html,Vue.js,Vuejs2,我有一个表,在其中使用Vue动态创建div的ID。代码如下所示: <table> <tbody> <tr v-for="(group, index) in groups" > <td> <a data-toggle="collapse" :href="'#users-in-'+encodeURIComponent(group.gname)" aria-expanded="false
<table>
<tbody>
<tr v-for="(group, index) in groups" >
<td>
<a data-toggle="collapse" :href="'#users-in-'+encodeURIComponent(group.gname)" aria-expanded="false" :aria-controls="'users-in-'+encodeURIComponent(group.gname)" v-text="group.gname"></a>
<div class="collapse" :id="'users-in-'+encodeURIComponent(group.gname)">
<p>some stuffs</p>
</div>
</td>
<td>
<p>Some other stuff</p>
</td>
</tr>
</tbody>
</table>
我添加了encodeURIComponent
以减轻它的影响,但Vue/JQuery似乎无法处理这个问题。如何在div名称中传递空格?虽然an在字符方面几乎不受限制,但看起来Bootstrap确实希望这样
而不是encodeURIComponent
(它将特殊字符替换为其他特殊字符),编写一个函数到,虽然a在字符方面几乎没有限制,但看起来Bootstrap确实希望它们是这样
与其使用
encodeURIComponent
(用其他特殊字符替换特殊字符),不如编写一个函数来我认为您还可以借助computed属性将空格转换为下划线
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// a computed getter
underScoreName: function (name) {
return name.split(' ').join('_')
}
}
})
<table>
<tbody>
<tr v-for="(group, index) in groups" >
<td>
<a data-toggle="collapse" :href="'#users-in-'+underScoreName(group.gname)" aria-expanded="false" :aria-controls="'users-in-'+underScoreName(group.gname)" v-text="group.gname"></a>
<div class="collapse" :id="'users-in-'+underScoreName(group.gname)">
<p>some stuffs</p>
</div>
</td>
<td>
<p>Some other stuff</p>
</td>
</tr>
</tbody>
</table>
可以使用此下划线名称计算属性将空格更改为下划线
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// a computed getter
underScoreName: function (name) {
return name.split(' ').join('_')
}
}
})
<table>
<tbody>
<tr v-for="(group, index) in groups" >
<td>
<a data-toggle="collapse" :href="'#users-in-'+underScoreName(group.gname)" aria-expanded="false" :aria-controls="'users-in-'+underScoreName(group.gname)" v-text="group.gname"></a>
<div class="collapse" :id="'users-in-'+underScoreName(group.gname)">
<p>some stuffs</p>
</div>
</td>
<td>
<p>Some other stuff</p>
</td>
</tr>
</tbody>
</table>
一些东西
一些其他的东西
我认为您还可以借助computed属性将空格转换为下划线
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// a computed getter
underScoreName: function (name) {
return name.split(' ').join('_')
}
}
})
<table>
<tbody>
<tr v-for="(group, index) in groups" >
<td>
<a data-toggle="collapse" :href="'#users-in-'+underScoreName(group.gname)" aria-expanded="false" :aria-controls="'users-in-'+underScoreName(group.gname)" v-text="group.gname"></a>
<div class="collapse" :id="'users-in-'+underScoreName(group.gname)">
<p>some stuffs</p>
</div>
</td>
<td>
<p>Some other stuff</p>
</td>
</tr>
</tbody>
</table>
可以使用此下划线名称计算属性将空格更改为下划线
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// a computed getter
underScoreName: function (name) {
return name.split(' ').join('_')
}
}
})
<table>
<tbody>
<tr v-for="(group, index) in groups" >
<td>
<a data-toggle="collapse" :href="'#users-in-'+underScoreName(group.gname)" aria-expanded="false" :aria-controls="'users-in-'+underScoreName(group.gname)" v-text="group.gname"></a>
<div class="collapse" :id="'users-in-'+underScoreName(group.gname)">
<p>some stuffs</p>
</div>
</td>
<td>
<p>Some other stuff</p>
</td>
</tr>
</tbody>
</table>
一些东西
一些其他的东西
与HTML关联的jQuery代码是什么?没有明确的jQuery代码,表格在一个窗格中,而窗格在一个选项卡中。但它们都是建立在自举的基础上的。堆栈跟踪仅指jQuery和引导代码。与HTML关联的jQuery代码是什么?没有明确的jQuery代码,表位于窗格中,而窗格位于选项卡中。但它们都是建立在自举的基础上的。堆栈跟踪只涉及jQuery和引导代码。非常感谢!我试图避免这种情况(因为这会影响我的后端和数据库),但这似乎是唯一的办法。我在文档中遗漏了这个。非常感谢!我试图避免这种情况(因为这会影响我的后端和数据库),但这似乎是唯一的办法。我在文件里漏掉了这个。