成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

vue 動態組件(component :is) 和 dom元素限制(is)用法說明

瀏覽:149日期:2022-11-28 14:38:50

一、is的使用

參考Vue 2.0教程,有講到 is 的使用:

解析 DOM 模板時的注意事項

有些 HTML 元素,諸如 <ul>、<ol>、<table> 和 <select>,對于哪些元素可以出現在其內部是有嚴格限制的。而有些元素,諸如 <li>、<tr> 和 <option>,只能出現在其它某些特定的元素內部。

這會導致我們使用這些有約束條件的元素時遇到一些問題。例如:

<table> <blog-post-row></blog-post-row></table>

這個自定義組件 <blog-post-row> 會被作為無效的內容提升到外部,并導致最終渲染結果出錯。幸好這個特殊的 is 特性給了我們一個變通的辦法:

<table> <tr is='blog-post-row'></tr></table>

可以看出,is提供了一個途徑,讓我們用自定義組件,替換其他的HTML元素。使用時只需加上屬性 is='自定義組件名'。

在這種為了解除dom元素限制,自由渲染自定義組件的場景下,僅需渲染一次,所以is的值寫死為自定義組件的名稱就可以了。

另外有些交互場景,是需要動態切換視圖組件的。

二、動態組件 :is的使用

上面講了利用is講元素替換為自定義組件的用法。

若某個數據結構對應的HTML視圖要求根據請求數據內容或者用戶的選擇,來渲染出不同的視圖,就需要我們進行動態渲染。

比如:獲取了后臺的表格數據,可以根據用戶的選擇切換渲染成表單展示還是列表展示。

vue 動態組件(component :is) 和 dom元素限制(is)用法說明

此時可以將is的值綁定為一個變量,is就變成了v-bind:is='變量名',即 :is='變量名'。當變量名賦值為哪個自定義組件名時,擁有:is=“變量名”屬性的元素就會渲染為哪個組件。由于is的值不再是一章節中的靜態的值,而是進行了數據綁定,所以綁定的變量要在data中定義過的。

動態組件的使用場景往往比第一章的解除dom元素限制的場景要復雜一點。雖然is屬性在常用的HTML元素上都可以使用的,但常見的解除dom元素限制的場景使用元素一般為<li><option>等。vue為動態組件的使用場景提供了<component>元素。

若要在切換中緩存保留動態渲染組件的狀態,可以用<keep-alive>元素將動態組件包裹。舉個例子:

<!-- 失活的組件將會被緩存!--><keep-alive> <component v-bind:is='currentTabComponent'></component></keep-alive>

補充知識:vue 利用component組件和is屬性實現動態組件

我剛學了一種 vue 新的布局方式,通過config配置,利用component組件和is屬性來控制頁面里面展示內容,在這里簡單做一個 dome

1,首先新建一些組件的vue頁面

這個文件的目錄,其中component中的是頁面展示的組件

src assets // 靜態文件 component // 組件文件 BaseInfo.vue OpenInfo.vue CommentReview.vue OrderInfo.vue config // 配置文件 index.js view // 頁面內容 index.vue

這里展示一下 組件中的內容

<template> // 其他頁面也一樣,只有背景色與頁面的展示名不同,這就不一一介紹了 <div class='content'>我是 OpenInfo 頁面</div></template><script>export default { name:’openInfo’ data() { return {}; }};</script><style scoped>.content { display: flex; justify-content: space-between; width: 1000px; height: 200px; background-color: green;}</style>

2,config 文件中的配置

const open = function () { const vm = this return [ { // type:‘’ 可以通過type類型來判斷展示那些組件內容 modules: [ { id: ’baseInfo’, refName: ’baseInfo’, component: () => import(’@/component/open/BaseInfo’) }, { id: ’lineInfo’, refName: ’lineInfo’, component: () => import(’@/component/open/OpenInfo’) }, { id: ’reviewInfo’, refName: ’reviewInfo’, component: () => import(’@/component/open/CommentReview’) }, { id: ’orderInfo’, refName: ’orderInfo’, component: () => import(’@/component/open/OrderInfo’) } ] } ] } export const openModules = vm => { return open.call(vm) }

3,展示頁面中的操作

<template> <div class='content'> <div>我是 index</div> <div v-for='(content,index) in openListValue' :key='index'> <!-- component標簽創建動態組件,is屬性指向誰,就顯示哪個組件 --> <component :key='content.index' :is='content.component' :ref='content.refName' :refName='content.refName' ></component> </div> </div></template><script>import { openModules } from '@/config/index';export default { data() { return { openList: [], openListValue: [] }; }, mounted() { this.getList(); }, methods: { getList() { this.openList = openModules(vm)[0]; this.openListValue = this.openList.modules; } }};</script><style scoped>.content { padding-top: 20px; display: flex; flex-direction: column; width: 1000px;}</style>

頁面展示:

vue 動態組件(component :is) 和 dom元素限制(is)用法說明

注:這里配置可以用多個,給他配置里設置一個 type ,通過 type 類型,來控制展示的是那些界面。這里就不多介紹了

以上這篇vue 動態組件(component :is) 和 dom元素限制(is)用法說明就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲国产中文字幕在线视频综合 | 日韩成人午夜精品| 欧美在线视频二区| 久久综合色鬼综合色| 国产99精品国产| 日韩一级免费观看| 国产精品自拍网站| 欧美午夜视频网站| 日韩激情视频网站| 色综合久久久久| 蜜臀av一级做a爰片久久| 色婷婷综合激情| 亚洲va中文字幕| 免费永久网站黄欧美| 亚洲午夜在线观看视频在线| 99精品99久久久久久宅男| 中文字幕一区三区| 在线电影一区| 亚洲精品菠萝久久久久久久| av成人国产| 亚洲国产精品久久不卡毛片| 欧美综合二区| 日韩精品1区2区3区| 在线视频欧美区| 美女一区二区在线观看| 欧美亚洲精品一区| 国产精品原创巨作av| 日韩一区二区视频在线观看| av在线综合网| 国产性做久久久久久| 国产精品av久久久久久麻豆网| 国产精品午夜久久| 一区二区三区福利| 天堂va蜜桃一区二区三区| 在线免费不卡视频| 国产一区999| 日韩欧美色综合网站| 99视频在线观看一区三区| 久久亚洲一区二区三区明星换脸| 91蜜桃婷婷狠狠久久综合9色| 国产精品三级久久久久三级| 激情综合网址| 亚洲成人自拍一区| 日本精品一级二级| 国产精品123| 国产网站一区二区| 亚洲精品麻豆| 视频一区中文字幕| 日韩一区二区免费在线电影| 99re亚洲国产精品| 亚洲视频你懂的| 久久国产精品99国产| 蜜臀av性久久久久av蜜臀妖精 | 国模大胆一区二区三区| 亚洲最快最全在线视频| 在线观看中文字幕不卡| 成人国产精品免费观看| 综合久久一区二区三区| 久久一本综合频道| 国产高清无密码一区二区三区| 久久久亚洲国产美女国产盗摄 | 一区二区三区欧美在线观看| 色哦色哦哦色天天综合| 国产白丝网站精品污在线入口| 国产欧美一区二区精品忘忧草| 日韩午夜激情| 久久国产三级精品| 欧美不卡一二三| 亚洲国产婷婷香蕉久久久久久99| 日韩国产在线观看| 欧美一二三区在线观看| 韩日视频一区| 免费看精品久久片| 久久久久久久久久久久久久久99| 夜夜夜久久久| 韩国欧美国产1区| 国产欧美日韩视频一区二区| 免费久久久一本精品久久区| 国产精品香蕉一区二区三区| 亚洲欧美自拍偷拍色图| 欧美性欧美巨大黑白大战| 91麻豆精品秘密| 午夜欧美在线一二页| 日韩女优制服丝袜电影| 一本久道久久久| 国产v综合v亚洲欧| 亚洲摸摸操操av| 91精品国产综合久久久久久久久久| 激情久久综合| 国产精品123| 亚洲一级片在线观看| 91麻豆精品久久久久蜜臀| 亚洲香蕉网站| 国产美女久久久久| 亚洲手机成人高清视频| 欧美三级在线视频| 国产精品av久久久久久麻豆网| 免费视频最近日韩| 国产精品久久久久影院亚瑟| 欧美视频中文一区二区三区在线观看| 欧美日韩精品久久| 极品瑜伽女神91| 亚洲精品日韩综合观看成人91| 欧美一级夜夜爽| 性欧美暴力猛交另类hd| av在线播放不卡| 天天综合日日夜夜精品| 久久久久久久久久久久久久久99 | 国产精品区一区| 成人av在线影院| 日本网站在线观看一区二区三区| 国产精品天天看| 3atv一区二区三区| 国产欧美综合一区二区三区| 成人福利在线看| 日日欢夜夜爽一区| 中文字幕欧美日韩一区| 欧美日韩一本到| 国产精品毛片在线看| 91女厕偷拍女厕偷拍高清| 蜜臀av一区二区| 一区二区三区资源| 亚洲精品一区二区三区四区高清 | 18成人在线视频| 国产精品视区| 欧美va亚洲va日韩∨a综合色| 免费成人av在线播放| 亚洲色图一区二区| 欧美精品一区二区三区在线| 色噜噜狠狠成人网p站| 日韩一级免费| 欧美成人综合| 国产成人av资源| 免费成人av在线| 一区二区三区自拍| 国产欧美一区在线| 日韩一级完整毛片| 欧美色偷偷大香| 亚洲一区二区免费看| 欧美片第1页综合| 国产精品 欧美精品| 免费观看日韩电影| 亚洲高清视频中文字幕| 亚洲三级在线免费| 欧美自拍偷拍午夜视频| 国产精品入口麻豆九色| 在线观看免费视频综合| 91久久精品国产91久久性色tv| 成人avav影音| 国产剧情一区二区| 蜜桃av一区二区| 亚洲高清免费视频| 亚洲欧美日韩电影| 久久亚洲私人国产精品va媚药| 欧美日韩国产在线观看| 日本高清视频一区二区| 老司机亚洲精品| 老鸭窝91久久精品色噜噜导演| 亚洲黄色影片| 亚洲视频一二| 国产一在线精品一区在线观看| 99国产精品久久久久久久久久| 丁香一区二区三区| 国产a视频精品免费观看| 加勒比av一区二区| 毛片av一区二区| 麻豆极品一区二区三区| 欧美aaaaaa午夜精品| 亚洲444eee在线观看| 一本一道波多野结衣一区二区| 欧美精品一区二区视频 | 在线观看一区欧美| 黄色精品网站| 极品av少妇一区二区| 亚洲精品日本| 国产偷久久久精品专区| 亚洲欧美久久久| 午夜亚洲性色福利视频| 亚洲永久免费精品| 久久亚洲二区| 色av一区二区| 欧美视频一区二区三区四区 | 国产精品呻吟| 久久久久久久波多野高潮日日| 色哟哟日韩精品| 欧美日韩在线一区二区| 欧美日韩精品欧美日韩精品| 欧美日韩1区2区| 日韩三级精品电影久久久| 欧美精品一区二区精品网| 久久欧美一区二区| 亚洲国产精品传媒在线观看| 中文字幕国产一区| 亚洲男同1069视频| 亚洲一区在线免费观看| 日韩在线播放一区二区| 极品尤物av久久免费看| 成人爽a毛片一区二区免费| 91视频91自| 伊人精品成人久久综合软件|