2017-06-12 61 views
0

我在大多數(業餘)前端開發中使用Vue.js,並且遇到一個我無法理解的簡單案例。什麼時候Vue.js不會渲染<input>?

在下面的代碼,搜索框的內容(一個<input>)轉化成一個陣列,然後針對迭代創建一些鏈接(<a>):

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>

爲什麼不顯示<input>

注1:當檢查Chrome的代碼,我看到

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

和這樣的評論通常是Vue.js已明確不會呈現什麼跡象。

注2:當刷新頁面時,我看到輸入字段的一個簡短的一瞥,所以它被呈現,然後被隱藏(我認爲)Vue.js.

回答

1

如果你正確地綁定href屬性,如:href="'#' + e"它的作品。否則Vue.js似乎會感到困惑。