Vue 2.0 動態組件

Html代碼:
<div id="example">
    <component v-bind:is="currentView" keep-alive></component>  <!--組件保留在內存-->
    <button v-on:click = "currentchange">點擊切換</button>
    <button v-on:click = "currentBack">點擊返回</button>
</div>

上述代碼是在官方文檔的小栗子基礎上改的,為的只是切換currentView的狀態;

JavaScript代碼:
var Home = {
    template: '<input type = "text">'
}
var Main = {
    template: "<p>Welcome Index!</p>"
}
var vm = new Vue({
    el: '#example',
    data: {
        currentView: 'home'
    },
    components: {
        home: Home,
        main: Main
    },
    methods: {
        currentchange: function() {
            vm.currentView = 'main'
        },
        currentBack: function() {
            vm.currentView = 'home'
        }
    }
})

上面的js代碼實現了切換功能,觀察發現<component v-bind:is="currentView" keep-alive></component>中多了一個keep-alive,這樣做是因為:如果把切換出去的組件保留在內存中,可以保留它的狀態或避免重新渲染。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內容,還有我對于 Vue 1.0 印象不深的內容。關于...
    云之外閱讀 5,074評論 0 29
  • Vue 實例 屬性和方法 每個 Vue 實例都會代理其 data 對象里所有的屬性:var data = { a:...
    云之外閱讀 2,241評論 0 6
  • 此文基于官方文檔,里面部分例子有改動,加上了一些自己的理解 什么是組件? 組件(Component)是 Vue.j...
    陸志均閱讀 3,856評論 5 14
  • 下載安裝搭建環境 可以選npm安裝,或者簡單下載一個開發版的vue.js文件 瀏覽器打開加載有vue的文檔時,控制...
    冥冥2017閱讀 6,081評論 0 42
  • 什么是組件 組件(Component)是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用...
    angelwgh閱讀 788評論 0 0