Vue.js开源:VueStar - 缤纷多彩的 Vue 点赞组件

love07ing 8年前
   <h2>VueStar</h2>    <p><img src="https://simg.open-open.com/show/e8fee23479d05bd500a760b077fc187b.gif"></p>    <h2>米娜撒,新年快乐!❤❤❤</h2>    <h2>demo</h2>    <p>扫描下面的二维码观看demo</p>    <p><img src="https://simg.open-open.com/show/a7f2fe21a41c7b9d8d7b69b82e87ac1b.png"></p>    <h2>API</h2>    <h2>Props</h2>    <table>     <thead>      <tr>       <th>参数</th>       <th>类型</th>       <th>说明</th>      </tr>     </thead>     <tbody>      <tr>       <td>animate</td>       <td>String</td>       <td>点赞激活时候的动画</td>      </tr>      <tr>       <td>color</td>       <td>String</td>       <td>点赞激活时候的颜色(注意填写的是hex或者rgb的颜色代码)</td>      </tr>     </tbody>    </table>    <h2>Slot</h2>    <table>     <thead>      <tr>       <th>SlotName</th>       <th>说明</th>      </tr>     </thead>     <tbody>      <tr>       <td>icon</td>       <td>承载点赞的图标</td>      </tr>     </tbody>    </table>    <h2>详细说明</h2>    <h2>Props</h2>    <h3>animate</h3>    <p>animate 指明点赞图标动画,默认是没有动画的,你可以添加动画css类,当然,也可以引入第三方css动画库,比如animate.css</p>    <p><img src="https://simg.open-open.com/show/7a2e5bdbcd6b3716645e3d973ec54986.gif"> <img src="https://simg.open-open.com/show/875ee4abf6d6b1ee2d1edb05fe29052a.gif"> <img src="https://simg.open-open.com/show/22ca7deda2d434878bcc57e213b1a8a5.gif"> <img src="https://simg.open-open.com/show/601470fe8b688d6d968c03662e1246a4.gif"> <img src="https://simg.open-open.com/show/f1e1a2cec0b84cca1371d33c74f4f8dd.gif"> <img src="https://simg.open-open.com/show/d324fa9a73616466b6d7e6af9d1501b5.gif"></p>    <h3>color</h3>    <p>color 是当点赞组件激活时候点赞图标的颜色变化,默认是没有颜色变化的。注意:该参数填写的值必须是hex或者rgb颜色代码,而不是css类</p>    <p><img src="https://simg.open-open.com/show/87eff89ba9f3197c424fd469b36957b2.gif"> <img src="https://simg.open-open.com/show/06d844239113761acba471f256886f78.gif"> <img src="https://simg.open-open.com/show/4c500d425da0c7939106a8192247e956.gif"></p>    <h2>Slot</h2>    <h3>icon</h3>    <p>icon 是点赞组件承载的核心,往该 slot 里面填入任意你需要的图标</p>    <p><img src="https://simg.open-open.com/show/c91b89bdf3daaa242ef74edebd229a1a.gif"> <img src="https://simg.open-open.com/show/bf11a48d1a1819c7a81ee56f4ed17837.gif"> <img src="https://simg.open-open.com/show/73798dca6d581e79d2c193cc4b63239d.gif"></p>    <h3>关于event</h3>    <p>简单来说该组件其实就一个包裹内容的控件,围绕 slot 中的内容,当你 slot 中内容被激活(点击等等之类的事件)时候,做出相应的变化(颜色改变和css动画),这是耦合组件的属性。但是其余对于 slot 被激活的时候产生的回调(点赞次数+1等等),应该与组件应该完全解耦。这类事件应该绑定在 slot 中</p>    <pre>  <code class="language-javascript"><template>    <vue-star animate="animated rubberBand" color="#F05654">      <a slot="icon" class="fa fa-heart" @click="handleClick"></a>    </vue-star>  </template>    </script>  export default {    methods: {      handleClick () {        //do something      }    }  }  </script></code></pre>    <h2>简单的例子</h2>    <pre>  <code class="language-javascript"><vue-star animate="yourAnimateCssClass" color="rgb(152, 138, 222)">      <img slot="icon" src="./yourImgPlace/yourImg.png" />    </vue-star></code></pre>    <pre>  <code class="language-javascript"><!--动画引入animate.css库,icon引入font-awesome图标库  -->    <vue-star animate="animated bounceIn" color="#F05654">      <i slot="icon" class="fa fa-heart"></i>    </vue-star></code></pre>    <h2>安装和使用</h2>    <pre>  <code class="language-javascript">npm install vue-star</code></pre>    <ul>     <li>若作为全局组件使用</li>    </ul>    <pre>  <code class="language-javascript">//在项目入口文件  import Vue from 'vue'  import VueStar from 'vue-star'  Vue.component('VueStar', VueStar)</code></pre>    <ul>     <li>若作为局部组件</li>    </ul>    <pre>  <code class="language-javascript">//在某个组件中  import VueStar from 'vue-star'  export default {    components: {      VueStar    }  }</code></pre>    <h2>bug和建议</h2>    <p>如果在使用中遇到问题或者建议,欢迎提 issues</p>    <h2>LICENSE</h2>    <p>MIT</p>    <p> </p>    <p> </p>