有关Vue高阶组件的运用
本篇文章主要介绍了探索Vue高阶组件的使用,现在分享给大家,也给大家做个参考。
高阶组件( HOC
)是 React
生态系统的常用词汇, React
中代码复用的主要方式就是使用高阶组件,并且这也是官方推荐的做法。而 Vue
中复用代码的主要方式是使用 mixins
,并且在 Vue
中很少提到高阶组件的概念,这是因为在 Vue
中实现高阶组件并不像 React
中那样简单,原因在于 React
和 Vue
的设计思想不同,但并不是说在 Vue
中就不能使用高阶组件,只不过在 Vue
中使用高阶组件所带来的收益相对于 mixins
并没有质的变化。本篇文章主要从技术性的角度阐述 Vue
高阶组件的实现,且会从 React
与 Vue
两者的角度进行分析。
从 React 说起
起初 React
也是使用 mixins
来完成代码复用的,比如为了避免组件不必要的重复渲染我们可以在组件中混入 PureRenderMixin
:
const PureRenderMixin = require('react-addons-pure-render-mixin') const MyComponent = React.createClass({ mixins: [PureRenderMixin] })
后来 React
抛弃了这种方式,进而使用 shallowCompare
:
const shallowCompare = require('react-addons-shallow-compare') const Button = React.createClass({ shouldComponentUpdate: function(nextProps, nextState) { return shallowCompare(this, nextProps, nextState); } })
这需要你自己在组件中实现 shouldComponentUpdate
方法,只不过这个方法具体的工作由 shallowCompare
帮你完成,即浅比较。
再后来 React
为了避免开发者在组件中总是要写这样一段同样的代码,进而推荐使用 React.PureComponent
,总之 React
在一步步的脱离 mixins
,他们认为 mixins
在 React
生态系统中并不是一种好的模式(注意:并没有说 mixins
不好,仅仅针对 React
生态系统),观点如下:
1、 mixins
带来了隐式依赖
2、 mixins
与 mixins
之间, mixins
与组件之间容易导致命名冲突
3、由于 mixins
是侵入式的,它改变了原组件,所以修改 mixins
等于修改原组件,随着需求的增长 mixins
将变得复杂,导致滚雪球的复杂性。
具体大家可以查看这篇文章 Mixins Considered Harmful 。不过 HOC
也并不是银弹,它自然带来了它的问题,其观点是: 使用普通组件配合 render prop
可以做任何 HOC 能做的事情 。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
Atas ialah kandungan terperinci 有关Vue高阶组件的运用. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Melaksanakan kesan menatal marquee/teks di VUE, menggunakan animasi CSS atau perpustakaan pihak ketiga. Artikel ini memperkenalkan cara menggunakan animasi CSS: Buat teks tatal dan bungkus teks dengan & lt; div & gt;. Tentukan animasi CSS dan tetapkan limpahan: tersembunyi, lebar, dan animasi. Tentukan frasa key, set Transform: TranslateX () pada permulaan dan akhir animasi. Laraskan sifat animasi seperti tempoh, kelajuan tatal, dan arah.

Anda boleh menanyakan versi VUE dengan menggunakan Vue Devtools untuk melihat tab VUE dalam konsol penyemak imbas. Gunakan NPM untuk menjalankan arahan "NPM LIST -G VUE". Cari item VUE dalam objek "Dependencies" fail Package.json. Untuk projek Vue CLI, jalankan perintah "Vue -version". Semak maklumat versi di & lt; skrip & gt; Tag dalam fail HTML yang merujuk kepada fail VUE.

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.
