xml中else if写法_如何在Vue中使用 JSX 语法?

在Vue中使用JSX语法。可以让我们回到更接近模板的语法上。

JSX == JS + XML(html)

c25db502f4212343ec4d34b577538afc.png

e891543040786a2d4a9c76260d3c3115.png

1、插值表达式

762de1a1272d672657c4459940e9237e.png

2cee654a51bbe295d3d74cd0c98c4525.png

2、指令

在JSX中,一些指令并不存在,所以我们可以换一种方式来处理。

1)v-text

77ad555e0c5b3e41b877359ed89ca789.png

f3f8626c5d0a1a4dfa2c1ed5d6a08351.png

2)v-html

5aa736a0a48f7bda64ce7548b3e39dc3.png

5a67721f5e31dabc4b5e4b76e1dde081.png

3)v-show

jsx支持v-show指令。

eeb7c8aefd4acc02a62f514fef77a590.png

6017beac856200b75c7853267944b975.png

498df300658396b1c9b92247eb305449.png

8727856d1c7d5b0fd50708425a8568c1.png

4)v-if

028f185194a73016041f6acb36ce2347.png

41374cbe557eb9075ac4e72a9eafb6d8.png

使用v-if、v-else-if 与 v-else配合。

660d50381abd425cd7f6edbd2f2feeda.png

e0ced9e84448e01d2f9b1107e8da88bf.png

cb372779280d58e3c2bb90960e7f4380.png

3bac3255f7d0fb183a1d890dfe6052bd.png

546799d9a5bae423f0236af666806409.png

fc8a9ecd3bf7e02aa0cecba7ccb5c47f.png

5)v-for

57a0bb4c44fdd1ce85278869ff28b5cb.png

fffe4161842ac8f40e50c541e5b9e57c.png

6)v-on

- 元素监听事件

4f2cac04d5faa066fb08f5e44468617e.png

aba989cf72800a5cc2b269c6e74e3a18.png

f117f596f724e6c5d2373c449ea11736.png

ffcd6265ca2f1c43fbb6a34f2dba6a42.png

78ffd778f0db8ac36dbf745500b79d7e.png

09aab2736087b52285c8632bc5d5d768.png

- 组件监听事件

f5c9ffbcde886eaf5931a5b6c1625894.png

f88f9e45e42e8c03eb585f3938ea4a16.png

4bf17ab0fe575959d441b1eb2d068687.png

31779287d3fe9cac0db89abb88a8d72e.png

- 监听事件传参

df1a029ee1d4cbb11dee88b636366aec.png

f2c10c8a3fe6b9d785ad36f6328bc588.png

62f1ce81ce5df7b5d71c3e20c3a5dbf2.png

94e24c39f48ad663339c4e2059b4432b.png

7)v-bind

56f0ed557e8f2346fe4ffaa1ae2a89e2.png

648876decfd87e2430516e7d6956285f.png

在JSX中可以直接使用class="xx"来指定样式类,内联样式可以直接写成style="xxx"。

6d215638866135703190b4489a48d1c7.png

3d27e14256ff65b5fb20ec6a4df4d632.png

8)v-model

有相应的插件 支持 v-model,所以可以直接使用。

2684aacb83a3839a25748d7f44f275be.png

b3270dde9c8c5869aed9fa36122b338c.png

d6391da4cb1b41edbf40c2dca588cc3c.png

9)v-slot

1e282bb8e81ba39bda50e26206b3fa20.png

04b3b81faf1158ab399a163a96fbfdcf.png

a4843662707f755b22581d123291cfa4.png

10)自定义指令

第一种写法:

04a6eb0111190200d72b8de08aae64e9.png

dfb51d899780ea09ddf26747336f90e6.png

7db42a095dae3bb187452a2a2bc59b28.png

d88033e7803328cdfe0a70c5351af535.png

第二种写法:

162dd5ca1034412d12a69e5e09b1aeeb.png

d7370b624e671092015340b1aa92e5f0.png

7db42a095dae3bb187452a2a2bc59b28.png

696508e379e3750ca6a8d245dfcf864b.png

11)v-pre、v-cloak、v-once

不常用,无替代方案。

3、Ref 引用

当遍历元素或组件时,如:

aef1482e7182b48e5b84a228f7b5582b.png

0ce5926cda6459025b7a8990113e136b.png

6d472363deefd5264914b5408aa1dbdf.png

会发现从 this.$http://refs.xxx 中获取的并不是期望的数组值,此时就需要将refInFor属性设置为true了。

608d459b8356531eb34cac59890b133b.png

b06380d2188553375428435c60f21411.png

1c0f18219ac7b229960ea6632f769df2.png

4、过滤器

1fb05323ac31f5ced0b18c3a8ea458ca.png

3bf80b740daa7b94ddf9f8fcea64042e.png

正常使用过滤器:

f8af084f52c8e0bd84a245e7e5e26151.png

52e9cbd812521dad5e11bdb89699fef3.png

在jsx中使用过滤器:

2a3ce6fe851f7fbe33225292a6b6781e.png

91475e9759d73fb409671a790c6ca0b8.png

5、插槽

模板写法:

d2ab3b1b62646b28538c977e6ff229fb.png

989088251d407808416cd5fd84e2c9f9.png

e5737ea291d46c13c6c54bc6b16510a6.png

5af931b60e2d7250f5726a5879a66a32.png

a0eddc675a1048148b01667d95bdde9c.png

752cb241c198ae518ae396038eff12df.png

JSX写法:

04b3b81faf1158ab399a163a96fbfdcf.png

1e282bb8e81ba39bda50e26206b3fa20.png

a4843662707f755b22581d123291cfa4.png

- 作用域插槽:

模板写法:

15ee9dda3225b08fd3b33040158b4e8d.png

03c38f14468848e4d6406dd115be3e13.png

9ad3b72fcf9faef38ac7536979be9672.png

JSX写法:

25b321c4cdd08ad1b8c933b6769c5a16.png

3cd67abf0e56801727f114ef57647089.png

9ad3b72fcf9faef38ac7536979be9672.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值