渐进式框架 - Vue.js

    快速上手
    1. 引入Vue的JavaScript文件,我们仍然推荐从CDN服务器加载它。

    2. 数据绑定(声明式渲染 )。

      1. <h1>{{ product }}库存信息</h1>
      2. </div>
      3. <script src="https://cdn.jsdelivr.net/npm/vue"></script>
      4. <script>
      5. const app = new Vue({
      6. el: '#app',
      7. data: {
      8. product: 'iPhone X'
      9. }
      10. });
      11. </script>
    3. 条件与循环。

      1. <div id="app">
      2. <h1>库存信息</h1>
      3. <hr>
      4. <ul>
      5. <li v-for="product in products">
      6. {{ product.name }} - {{ product.quantity }}
      7. <span v-if="product.quantity === 0">
      8. 已经售罄
      9. </span>
      10. </li>
      11. </ul>
      12. </div>
      13. <script src="https://cdn.jsdelivr.net/npm/vue"></script>
      14. <script>
      15. const app = new Vue({
      16. el: '#app',
      17. data: {
      18. products: [
      19. {"id": 1, "name": "iPhone X", "quantity": 20},
      20. {"id": 2, "name": "华为 Mate20", "quantity": 0},
      21. {"id": 3, "name": "小米 Mix3", "quantity": 50}
      22. ]
      23. }
      24. });
      25. </script>
    4. 计算属性。

    5. 处理事件。

      1. <div id="app">
      2. <h1>库存信息</h1>
      3. <hr>
      4. <ul>
      5. <li v-for="product in products">
      6. {{ product.name }} - {{ product.quantity }}
      7. <span v-if="product.quantity === 0">
      8. 已经售罄
      9. </span>
      10. <button @click="product.quantity += 1">
      11. 增加库存
      12. </button>
      13. </li>
      14. </ul>
      15. <h2>库存总量:{{ totalQuantity }}台</h2>
      16. </div>
      17. <script src="https://cdn.jsdelivr.net/npm/vue"></script>
      18. <script>
      19. const app = new Vue({
      20. el: '#app',
      21. data: {
      22. products: [
      23. {"id": 1, "name": "iPhone X", "quantity": 20},
      24. {"id": 2, "name": "华为 Mate20", "quantity": 0},
      25. {"id": 3, "name": "小米 Mix3", "quantity": 50}
      26. },
      27. totalQuantity() {
      28. return this.products.reduce((sum, product) => {
      29. return sum + product.quantity
      30. }, 0);
      31. }
      32. }
      33. });
      34. </script>
    6. 用户输入。

      1. <div id="app">
      2. <h1>库存信息</h1>
      3. <hr>
      4. <ul>
      5. <li v-for="product in products">
      6. {{ product.name }} -
      7. <input type="number" v-model.number="product.quantity" min="0">
      8. <span v-if="product.quantity === 0">
      9. 已经售罄
      10. </span>
      11. <button @click="product.quantity += 1">
      12. 增加库存
      13. </button>
      14. </li>
      15. </ul>
      16. <h2>库存总量:{{ totalQuantity }}台</h2>
      17. </div>
      18. <script src="https://cdn.jsdelivr.net/npm/vue"></script>
      19. <script>
      20. const app = new Vue({
      21. el: '#app',
      22. data: {
      23. products: [
      24. {"id": 1, "name": "iPhone X", "quantity": 20},
      25. {"id": 2, "name": "华为 Mate20", "quantity": 0},
      26. {"id": 3, "name": "小米 Mix3", "quantity": 50}
      27. ]
      28. },
      29. computed: {
      30. totalQuantity() {
      31. return this.products.reduce((sum, product) => {
      32. return sum + product.quantity
      33. }, 0);
      34. }
      35. }
      36. });
      37. </script>
    使用脚手架 - vue-cli

    Vue为商业项目开发提供了非常便捷的脚手架工具vue-cli,通过工具可以省去手工配置开发环境、测试环境和运行环境的步骤,让开发者只需要关注要解决的问题。

    1. 安装脚手架。
    2. 创建项目。
    3. 安装依赖包。
    4. 运行项目。

    UI框架 - Element

    基于Vue 2.0的桌面端组件库,用于构造用户界面,支持响应式布局。

    1. 引入Element的CSS和JavaScript文件。

      1. <!-- 引入样式 -->
      2. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
      3. <!-- 引入组件库 -->
      4. <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    2. 一个简单的例子。

      1. <!DOCTYPE html>
      2. <html>
      3. <head>
      4. <meta charset="UTF-8">
      5. <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
      6. </head>
      7. <body>
      8. <div id="app">
      9. <el-button @click="visible = true">点我</el-button>
      10. <el-dialog :visible.sync="visible" title="Hello world">
      11. <p>开始使用Element吧</p>
      12. </el-dialog>
      13. </div>
      14. </body>
      15. <script src="https://unpkg.com/vue/dist/vue.js"></script>
      16. <script src="https://unpkg.com/element-ui/lib/index.js"></script>
      17. el: '#app',
      18. data: {
      19. visible: false,
      20. }
      21. })
      22. </script>
      23. </html>
    3. 使用组件。

    报表框架 - ECharts

    百度出品的开源可视化库,常用于生成各种类型的报表。

    基于弹性盒子的CSS框架 - Bulma

    Bulma是一个基于Flexbox的现代化的CSS框架,其初衷就是移动优先(Mobile First),模块化设计,可以轻松用来实现各种简单或者复杂的内容布局,即使不懂CSS的开发者也能够使用它定制出漂亮的页面。

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Bulma</title>
    6. <link href="https://cdn.bootcss.com/bulma/0.7.4/css/bulma.min.css" rel="stylesheet">
    7. <style type="text/css">
    8. div { margin-top: 10px; }
    9. .column { color: #fff; background-color: #063; margin: 10px 10px; text-align: center; }
    10. </style>
    11. </head>
    12. <body>
    13. <div class="columns">
    14. <div class="column">1</div>
    15. <div class="column">2</div>
    16. <div class="column">3</div>
    17. <div class="column">4</div>
    18. </div>
    19. <div>
    20. <a class="button is-primary">Primary</a>
    21. <a class="button is-link">Link</a>
    22. <a class="button is-info">Info</a>
    23. <a class="button is-success">Success</a>
    24. <a class="button is-warning">Warning</a>
    25. <a class="button is-danger">Danger</a>
    26. </div>
    27. <div>
    28. <progress class="progress is-danger is-medium" max="100">60%</progress>
    29. </div>
    30. <div>
    31. <table class="table is-hoverable">
    32. <tr>
    33. <th>One</th>
    34. <th>Two</th>
    35. </tr>
    36. <tr>
    37. <td>Three</td>
    38. <td>Four</td>
    39. </tr>
    40. <tr>
    41. <td>Five</td>
    42. <td>Six</td>
    43. </tr>
    44. <tr>
    45. <td>Seven</td>
    46. <td>Eight</td>
    47. </tr>
    48. <tr>
    49. <td>Nine</td>
    50. <td>Ten</td>
    51. </tr>
    52. <tr>
    53. <td>Eleven</td>
    54. <td>Twelve</td>
    55. </tr>
    56. </table>
    57. </div>
    58. </body>

    响应式布局框架 - Bootstrap

    用于快速开发Web应用程序的前端框架,支持响应式布局。

    1. 特点

      • 支持主流的浏览器和移动设备
      • 容易上手
      • 响应式设计
    2. 内容

      • 网格系统
      • 封装的CSS
      • 现成的组件
      • JavaScript插件
    3. 可视化