【问题标题】:When wouldn't an <input> be rendered by Vue.js?Vue.js 什么时候不会渲染 <input>?
【发布时间】:2017-06-12 15:49:19
【问题描述】:

我在大部分(业余)前端开发中都使用 Vue.js,但我遇到了一个我无法理解的简单案例。

在下面的代码中,搜索框的内容(&lt;input&gt;)被转换为一个数组,然后对其进行迭代以创建一些链接(&lt;a&gt;):

var vm = new Vue({
  el: "#search",
  data: {
    search: '',
    results: []
  },
  watch: {
    search: function() {
      this.results = this.search.split('')
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.3/vue.min.js"></script>
<h2>a dropdown</h2>

<div class="dropdown" id="search">
  <input type="text" v-model="search">
  <div id="myDropdown" class="dropdown-content">
    <a :href="#e" v-for="e in results">{{e}}</a>
  </div>
</div>

为什么不显示&lt;input&gt;

注意 1:在 Chrome 中检查代码时,我看到了

<h2>a dropdown</h2>
<!---->

而这样的注释通常表明 Vue.js 没有明确渲染某些东西。

注 2: 刷新页面时,我看到输入字段非常简短,因此它被渲染,然后被(我假设)Vue.js 隐藏。

【问题讨论】:

    标签: javascript html vue.js vuejs2


    【解决方案1】:

    如果您正确绑定href 属性,如:href="'#' + e",它就可以工作。 Vue.js 似乎对此感到困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-22
      • 2019-08-02
      • 2020-06-19
      • 2023-02-20
      • 2020-08-14
      相关资源
      最近更新 更多