精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

教練,怎么在vue項目里寫react?

開發 前端
我承認了我是標題黨,本篇文章是在vue項目里寫tsx的一篇介紹。作為一個reacter,目前的業務天天使用vue2+ts讓我十分的不舒服。

 [[424253]]

1.前言

我承認了我是標題黨,本篇文章是在vue項目里寫tsx的一篇介紹。作為一個reacter,目前的業務天天使用vue2+ts讓我十分的不舒服。我對于vue也不是很熟悉,想回到我的react時代。于是在查詢官網之后發現在vue里面寫jsx也挺有意思的,遂記錄。

2.正文

vue2+ts的項目配置這里就不展開了,網上一搜一大推。

index.vue是頁面路由,存放各個組件和公用邏輯。components文件夾中存放我的tsx組件。

接下來就開始寫tsx。

你可以直接創建jsx/tsx文件

這次的項目結構是這樣的:

在vue文件里這么使用

  1. // index.vue 
  2. <template> 
  3.   <div class="wrapper"
  4.     <Common :opt="list" /> 
  5.   </div> 
  6. </template> 
  7.   
  8. <script lang="ts"
  9. import { Component, Vue } from "vue-property-decorator"
  10. import Common from "./components/Common"
  11.  
  12. @Component({ 
  13.   name: "App"
  14.   components: { 
  15.     Common, 
  16.   }, 
  17. }) 
  18. export default class App extends Vue { 
  19.   private list = ["我要去淘寶""我要去百度""我要去京東"]; 
  20. </script> 

tsx這么寫

  1. import { CreateElement } from 'vue'
  2. import { Component, Vue, Prop } from 'vue-property-decorator'
  3.  
  4. @Component({ 
  5.     name: 'Common' 
  6. }) 
  7. export default class Common extends Vue { 
  8.     @Prop(Object) opt!: any[] 
  9.  
  10.     render(h: CreateElement) { 
  11.         return <span> 
  12.             { 
  13.                 this.opt.map((it) => { 
  14.                     return <span style="marginRight:10px">{it}</span> 
  15.                 }) 
  16.             } 
  17.         </span> 
  18.     } 

在來看一下頁面

這該死的react既視感,竟是如此的誘人

可能有心者注意到了 我還引用了一個 CreateElement ,這是干嘛的呢。這玩意叫 渲染函數 。不喜歡讀vue那么大串的文檔的兄弟看這里。簡單解釋:這個東西可以渲染一個vnode節點。 它比模板更接近編譯器。 什么意思呢?意思就是模板語法也會編譯成渲染函數。所以我們直接用渲染函數不就相當于節省了模板語法到渲染函數的過程。四舍五入項目性能又是一個大的提升!

簡單介紹一下傳參:

第一個參數 : {String | Object | Function} 一個 HTML 標簽名、組件選項對象,或者 resolve 了上述任何一種的一個 async 函數。必填項。

第二個參數 : Object 一個與模板中 attribute 對應的數據對象。

第三個參數 : {String | Array} 文本節點或子級虛擬節點 (VNodes)。

渲染函數給vue帶來了很多的靈活性,以前你想自定義在子組件里插入東西,得寫一大堆的插槽。 <slot> 。有了渲染函數我們可以這么玩。

  1. // 改造一下上面的index.vue的data 
  2.  
  3.   private list = [ 
  4.     { render: () => ["a", { style: { color: "red" } }, "我要去淘寶"] }, 
  5.     { render: () => ["a", { style: { color: "green" } }, "我要去京東"] }, 
  6.     { render: () => ["a", { style: { color: "pink" } }, "我要去百度"] }, 
  7.   ]; 

tsx中這么寫:

  1.                 this.opt.map((it) => { 
  2.                     return h(...it.render()) 
  3.                 }) 
  4.             } 

就可以渲染出花里胡哨的頁面了

我們還可以這么玩:

  1. // tsx改造 
  2. <span> 
  3.             { 
  4.                 this.opt.map((it) => { 
  5.                     return it.render(h) 
  6.                 }) 
  7.             } 
  8. </span> 
  9.  
  10.  
  11. 在index.vue頁面我們就可以這么玩: 
  12. // index.vue 
  13. private list = [ 
  14.     { 
  15.       render: (h: CreateElement) => 
  16.         h("a", { style: { color: "red", marginRight: "5px" } }, "我要去淘寶"), 
  17.     }, 
  18.     { 
  19.       render: (h: CreateElement) => 
  20.         h("a", { style: { color: "green", marginRight: "5px" } }, "我要去京東"), 
  21.     }, 
  22.     { 
  23.       render: (h: CreateElement) => 
  24.         h("a", { style: { color: "pink", marginRight: "5px" } }, "我要去百度"), 
  25.     }, 
  26.   ]; 

結果也是同樣的花哨

我們同樣可以渲染亂七八糟的標簽!

  1. // index.vue改造 
  2.  { 
  3.       render: (h: CreateElement) => 
  4.         h( 
  5.           "h1"
  6.           { 
  7.             style: { color: "green", marginRight: "5px" }, 
  8.           }, 
  9.           "我要去京東" 
  10.         ), 
  11.     }, 

我們可以隨心所欲的在渲染函數中定義事件:

  1. // index.vue 
  2. private list = [ 
  3.    { 
  4.       render: (h: CreateElement) => 
  5.         h( 
  6.           "a"
  7.           { 
  8.             style: { color: "red", marginRight: "5px" }, 
  9.             on: { 
  10.               click: () => this.iWillGoWhere("TB"), 
  11.             }, 
  12.           }, 
  13.           "我要去淘寶" 
  14.         ), 
  15.    }] 
  16.     
  17.  iWillGoWhere(type: string) { 
  18.     const goWhere: any = { 
  19.       TB: () => { 
  20.         alert("我要去淘寶!"); 
  21.       }, 
  22.       JD: () => { 
  23.         alert("我要去京東!"); 
  24.       }, 
  25.       BD: () => { 
  26.         alert("我要去百度!"); 
  27.       }, 
  28.     }; 
  29.     goWhere[type](); 
  30.   } 

這樣就可以啦!

結尾

本次文章是對vue靈活性使用的入門。請各位vue大佬不要噴我~

責任編輯:張燕妮 來源: SegmentFault
相關推薦

2025-09-04 10:29:04

VueCSS

2023-09-14 08:46:50

ReactVue

2022-05-09 08:55:52

ORMMockGo

2021-07-29 09:07:44

React視圖庫Web 開發

2018-12-04 10:24:23

VueReactJQuery

2017-10-14 22:45:55

前端

2020-10-30 12:40:04

Reac性能優化

2020-09-14 14:18:05

Vue和React

2024-05-08 16:22:37

2022-06-28 10:58:48

協議通信加密

2023-04-26 08:43:28

GoCGO語言

2023-10-26 07:37:18

ReactVue項目

2022-12-29 20:23:43

VueReact

2020-01-09 15:35:54

ReactAngularVue.js

2018-02-26 06:53:21

軟件程序員數字化

2022-08-21 09:41:42

ReactVue3前端

2017-01-17 18:30:23

ReactVueWeex

2017-01-17 09:39:06

ReactWeex

2021-08-04 08:27:00

VueReact自動化部署

2025-09-25 14:35:43

點贊
收藏

51CTO技術棧公眾號

91大神福利视频在线| 亚洲福利在线观看| 日本免费黄色小视频| 亚洲第一色网站| 免费视频一区| 久久中文字幕一区| 亚洲国产精品成人综合久久久| 欧美国产日韩电影| 亚洲韩国精品一区| 亚洲一区二区三区精品动漫| 黄色av网址在线| 免费看欧美美女黄的网站| 欧美黄色片在线观看| 性の欲びの女javhd| 高潮按摩久久久久久av免费| 欧美性猛片aaaaaaa做受| 日韩视频 中文字幕| 日本成人一区二区三区| 国产精品1区二区.| 国产精品久久久久av| 免看一级a毛片一片成人不卡| 国产成人高清| 亚洲国产欧美在线成人app| 日本xxxx黄色| 欧美黑人疯狂性受xxxxx野外| 亚洲欧美日韩一区二区三区在线观看| 狠狠色狠狠色综合人人| 国产高清第一页| 日本aⅴ精品一区二区三区| 久久久久久久999精品视频| 国产黄色小视频网站| 国产精品一线天粉嫩av| 亚洲精品久久久久久久久久久 | 91久久综合| 久久精品免费电影| 欧美自拍偷拍网| 国内精品久久久久久久影视简单 | 成人免费观看网址| 成人a v视频| 午夜亚洲视频| 欧美亚洲国产另类| 欧美一级视频免费观看| 在线看片一区| 久久久久久亚洲精品不卡| 加勒比婷婷色综合久久| 日韩免费av| 在线观看亚洲视频| 国产精品天天干| 国产精品免费99久久久| 亚洲精品视频播放| 99久久久久久久久久| 蜜臀av一区| 日韩av在线一区二区| 老司机午夜免费福利| 凹凸成人在线| 亚洲国产精久久久久久| 白嫩情侣偷拍呻吟刺激| 福利电影一区 | 成人高潮成人免费观看| 久久久久久久综合日本| 牛人盗摄一区二区三区视频| 久热av在线| 中文字幕乱码亚洲精品一区| 亚洲成人网上| 精品176二区| 樱花影视一区二区| 日韩小视频网站| 欧美激情网站| 日本乱人伦一区| 日韩高清第一页| avtt久久| 精品国产一区二区精华| 午夜视频在线观看国产| 欧美黑白配在线| 亚洲天堂av图片| 来吧亚洲综合网| 午夜精品亚洲| 欧美整片在线观看| 国产成人精品一区二区色戒| 久久69国产一区二区蜜臀| 91传媒免费看| 日韩有码第一页| 久久精品一区二区三区四区| 一区二区在线高清视频| 91高清在线观看视频| 亚洲成人激情自拍| 无码日韩人妻精品久久蜜桃| 动漫一区二区三区| 亚洲精品按摩视频| 亚洲欧美综合7777色婷婷| 午夜精品免费| 国产成人精品a视频一区www| 91片黄在线观看喷潮| 国产成人精品在线看| 欧美资源一区| www免费在线观看| 精品久久久久国产| 911福利视频| 精品无人区一区二区| 中文字幕久久久av一区| 国产亚洲成人av| 日日摸夜夜添夜夜添精品视频| 91人成网站www| 日漫免费在线观看网站| 亚洲色图欧美偷拍| 免费日韩中文字幕| 91蜜桃臀久久一区二区| 这里只有精品久久| 久久一区二区三区视频| 国产一区二区视频在线| 日本精品一区| 91九色在线播放| 69p69国产精品| 91视频在线网站| 尹人成人综合网| 成人免费视频网址| 裸体xxxx视频在线| 精品国产福利视频| 欧美色图校园春色| 日韩国产一区二区| 日本高清视频精品| 日韩一区免费视频| 一区二区三区高清在线| 九九热免费在线观看| 狠狠色狠狠色综合婷婷tag| 91精品国产高清久久久久久91| 国产又黄又大又粗的视频| 久久久蜜桃精品| 少妇av一区二区三区无码| 精品视频在线播放一区二区三区 | 老**午夜毛片一区二区三区| 国产精品久久国产三级国电话系列 | 国产一区二区h| 亚洲欧洲久久| 欧洲av一区二区| 亚洲视频在线观看| youjizz在线视频| 久久综合九色综合97婷婷| 中国丰满熟妇xxxx性| 亚洲成av人片在线观看www| 久久精品国产91精品亚洲 | 老牛嫩草一区二区三区日本| 九九99玖玖| 理论片午夜视频在线观看| 精品va天堂亚洲国产| 免费一级肉体全黄毛片| 国产一区二区三区精品欧美日韩一区二区三区| 台湾佬成人网| 一区二区日韩在线观看| 亚洲第一精品影视| 亚洲综合中文字幕在线观看| 日本三级视频在线播放| 欧美色图免费看| 青青青手机在线视频| 免费av成人在线| 中文字幕成人一区| 亚洲三级在线| 久久99久久99精品中文字幕| 精品人妻一区二区三区换脸明星 | 日韩女优一区二区| 国产精品一区二区在线观看网站| 亚洲成人动漫在线| av成人男女| 欧美一二三视频| 国产高清视频在线| 欧美精品乱码久久久久久| 国产免费无遮挡吸奶头视频| 青娱乐精品视频| 99热一区二区三区| 97久久综合精品久久久综合| 91精品国产成人| 北岛玲一区二区三区| 欧美精品一级二级三级| 久久久久久久久久综合| 91麻豆精东视频| 亚洲第一狼人区| 综合一区av| 久久精品二区| 婷婷精品久久久久久久久久不卡| 九九久久久久久久久激情| 日本免费一区视频| 欧美午夜在线一二页| 一区二区视频免费看| 91丨九色porny丨蝌蚪| 一区二区三区韩国| 亚洲国内精品| 中国人体摄影一区二区三区| 成人av资源网址| 国产精品亚洲网站| 国产盗摄在线视频网站| 在线中文字幕日韩| 国产1区在线观看| 欧洲精品在线观看| 精品97人妻无码中文永久在线| 97国产精品videossex| av污在线观看| 99国产精品99久久久久久粉嫩| 亚洲精品无人区| 成人精品毛片| 91人人爽人人爽人人精88v| 亚洲精品永久免费视频| 久久成人这里只有精品| 精品亚洲综合| 亚洲成人免费在线视频| 伊人网视频在线| 婷婷综合另类小说色区| 欧美爱爱免费视频| 国产清纯在线一区二区www| 中文字幕人妻熟女在线| 另类专区欧美蜜桃臀第一页| 国内性生活视频| 欧美精品一卡| 一区二区三区电影| 国产成人调教视频在线观看 | 亚洲男女视频在线观看| 欧美三级电影网| 特级毛片www| 亚洲亚洲人成综合网络| 翔田千里88av中文字幕| 欧美国产日本视频| 国精品无码人妻一区二区三区| 国产大片一区二区| 天天综合天天添夜夜添狠狠添| 丝袜美腿亚洲色图| 少妇性饥渴无码a区免费| 伊人精品视频| 青青青在线观看视频| 国产精品久久久久无码av| 日韩中文字幕一区二区| 在线成人动漫av| 久久久久久国产精品免费免费| 97久久亚洲| 国产高清在线精品一区二区三区| 日韩一级视频| 国产一区二区丝袜| 日韩成人一区| 国产中文字幕亚洲| 四虎国产精品免费久久5151| 国产精品99一区| 桃色一区二区| 国产成人精品免费久久久久| 国产不卡网站| 欧美综合第一页| 亚洲精品成人图区| 国产va免费精品高清在线| 偷拍精品精品一区二区三区| 69av成年福利视频| 一区二区三区短视频| 日韩免费观看网站| 欧美影视资讯| 国产日韩欧美在线看| 亚洲青青一区| 5g影院天天爽成人免费下载| 日本一区二区三区电影免费观看| 96精品久久久久中文字幕| 国产精品亚洲综合在线观看| 成人写真福利网| 久久久久久久久成人| 成人毛片网站| 美女视频亚洲色图| 日本不卡二区高清三区| 成人精品天堂一区二区三区| 正在播放久久| 亚洲黄色大片| 成熟老妇女视频| 久久精品国产免费| 国产成人精品综合久久久久99| 顶级嫩模精品视频在线看| 亚洲专区区免费| 国产欧美日韩三级| 欧洲第一无人区观看| 亚洲成人你懂的| wwwwww在线观看| 91精品婷婷国产综合久久| 国产 欧美 精品| 亚洲香蕉成视频在线观看| 蜜桃视频在线观看免费视频网站www| 久久天天躁狠狠躁夜夜躁2014| 丝袜综合欧美| 日本中文字幕不卡免费| 日日夜夜一区| 国产精品一区二区你懂得| 欧美三级美国一级| 久久综合久久久久| 日韩高清一级片| 丰满少妇一区二区三区专区| 99re在线精品| 5566中文字幕| 五月婷婷另类国产| 一级片aaaa| 日韩国产精品视频| 18加网站在线| 国产不卡在线观看| 日韩在线成人| 性欧美.com| 国产精品亚洲产品| 九色91porny| 国产视频视频一区| 国产精品不卡av| 欧美理论片在线| 深夜福利免费在线观看| 久久国产精品电影| 日韩av超清在线观看| 国产精品免费看一区二区三区| 精品香蕉视频| 日韩小视频在线播放| 激情另类小说区图片区视频区| 欧美一级片黄色| 亚洲欧美日韩国产综合| 亚洲欧美综合自拍| 精品国产青草久久久久福利| 麻豆网站视频在线观看| 国产suv精品一区二区| 成人av资源网址| 男女激烈动态图| 久久成人免费网站| 一区二区三区在线观看免费视频| 舔着乳尖日韩一区| 性生交大片免费看女人按摩| 中文字幕亚洲无线码在线一区| 亚洲欧美韩国| 精品国产乱码久久久久久蜜柚| 亚洲免费二区| 狠狠干狠狠操视频| 国产欧美精品一区二区三区四区 | 亚洲AV无码国产成人久久| 亚洲国产一区二区视频| 国产绿帽刺激高潮对白| 色偷偷噜噜噜亚洲男人| 日本在线中文字幕一区二区三区| 久久精品aaaaaa毛片| 亚洲国产日韩欧美一区二区三区| 精品人妻无码中文字幕18禁| 亚洲免费观看高清在线观看| 中文字幕免费高清在线观看| 中国人与牲禽动交精品| 电影一区二区| 日韩成人av网站| 日韩精品成人一区二区三区| 精品人妻一区二区三区视频| 欧美日韩国产综合新一区 | 在线播放国产精品| 日韩另类视频| 亚洲欧美一区二区原创| 老司机精品视频导航| 日韩在线观看免| 欧美一区二区黄色| 国产嫩草在线视频| 国产精品久久久久久久免费大片| 国产精品分类| 欧美双性人妖o0| 岛国av一区二区| 欧美捆绑视频| 国产精品亚洲美女av网站| 日韩片欧美片| 色婷婷激情视频| 亚洲综合区在线| 五月婷婷深深爱| 国产精品www色诱视频| 婷婷综合伊人| 国内自拍偷拍视频| 午夜成人在线视频| 毛片在线播放网址| 国产视频福利一区| 国产一区亚洲| 性色av蜜臀av色欲av| 欧美午夜在线观看| 成人黄色在线电影| 国产一区二区三区奇米久涩| 日韩午夜av| 国产精品情侣呻吟对白视频| 69精品人人人人| 国产在线看片免费视频在线观看| 你懂的视频在线一区二区| 老司机一区二区| 国产一级片久久| 亚洲午夜久久久影院| 只有精品亚洲| 可以在线看的av网站| 欧美国产欧美亚州国产日韩mv天天看完整| 国产又粗又猛又黄又爽无遮挡| 欧美精品激情在线观看| 亚洲调教一区| 中文字幕人妻无码系列第三区| 亚洲成a人v欧美综合天堂| 国产精品视频二区三区| 99精品国产高清一区二区| 午夜亚洲性色视频| 日韩a级片在线观看| 日韩精品免费综合视频在线播放| 国产成人福利夜色影视| 日本阿v视频在线观看| 日本一区二区三级电影在线观看 | 成人免费电影视频| 91porny九色| 久久久久久久香蕉网| 成人区精品一区二区婷婷| 国产精品亚洲一区二区无码| 欧美在线观看一区二区| 欧美草逼视频|