Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 将带空格的div名称传递给Vue_Javascript_Jquery_Html_Vue.js_Vuejs2 - Fatal编程技术网

Javascript 将带空格的div名称传递给Vue

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

我有一个表,在其中使用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" :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和引导代码。非常感谢!我试图避免这种情况(因为这会影响我的后端和数据库),但这似乎是唯一的办法。我在文档中遗漏了这个。非常感谢!我试图避免这种情况(因为这会影响我的后端和数据库),但这似乎是唯一的办法。我在文件里漏掉了这个。