npm 包 wuxus-star-rating-component 使用教程

阅读时长 4 分钟读完

前言

前端工程化已经成为大势所趋,npm 已经成为前端领域最重要的包管理工具之一。本文将介绍一款 npm 包 wuxus-star-rating-component 的使用方法,并且详细探究其原理及实现方式。

关于 wuxus-star-rating-component

wuxus-star-rating-component 是一款基于 Vue 框架实现的评分组件,其特点是易于安装,简单易用且可自定义样式。其本质是一个 Vue 组件,可以通过 npm 进行安装和使用。

安装

通过 npm 安装:

使用

-- -------------------- ---- -------
----------
  ---------------- --------------------- --
-----------

--------
------ --------------- ---- ------------------------------

------ ------- -
  ----------- - --------------- --
  ------ -
    ------ -
      ------------ -
    --
  -
--
---------

通过上面的代码片段,使用起来十分简单,只需引入组件并在 data 中声明一个 v-model 以绑定选中星星个数即可。

wuxus-star-rating-component 的实现原理

在深入了解 wuxus-star-rating-component 的实现原理之前,我们先来了解一下 Vue 的自定义组件基础知识。

Vue 自定义组件

Vue 自定义组件是指开发者通过 Vue.extend 或 Vue.component 创建的自定义标签,可以像普通标签一样使用,并且可以在 Vue 实例中直接绑定数据。

既然是自定义组件,那么就涉及到父子组件之间的数据传递问题,Vue 中的数据传递是单向的,即只能从父组件向子组件传递数据,如果需要从子组件向父组件传递数据,可以通过 $emit 事件触发来实现。

wuxus-star-rating-component 的实现

wuxus-star-rating-component 本质是一个使用 Vue.extend 或 Vue.component 定义的组件,其核心代码如下:

-- -------------------- ---- -------
-------------------------------- -
  ------ -
    ------ -
      ----- -------
      -------- --
      ---------------- -
        ------ ----- -- - -- ----- -- --
      -
    --
    ---- -
      ----- -------
      -------- --
      ---------------- -
        ------ ----- - --
      -
    --
    --------- -
      ----- --------
      -------- -----
    --
    --------- -
      ----- --------
      -------- -----
    --
    ------ -
      ----- -------- --------
      -------- --
    --
    ------- -
      ----- -------- --------
      -------- --
    -
  --
  ------ -
    ------ -
      ------------ ----------
    -
  --
  --------- -
    ------------ -
      ------ ------------ ------- -------- -- --- ------ -- ----- - --
    -
    -----
  --
  -------- -
    ----------------- -
      ---------------- -- -------------- -
        -------
      -
      ---------------- - ------
      -- -- ----- ----------- 
      ------------------- -------
    -
    -----
  --
  -----
---

我们可以看到,组件的全部实现都在 Vue.component 中完成,其中 props 部分定义了组件的属性,data 用于维护选中的星星值,computed 中定义了星星的个数,methods 中的 handleRate 方法用于处理用户点击事件,そして注释中的代码片段使用 $emit('input', index) 触发组件的 input 事件,并且将 index 作为参数传递给父组件,从而实现了组件数据的传递。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671148dd3466f61ffe578

纠错
反馈