一个简单的例子入门Vue.js

来源:互联网 发布:网站域名备案要多久 编辑:程序博客网 时间:2024/05/22 12:44

现在是前端的天下,原来属于后端的交互现在逐渐被前端慢慢地取代,在前端飞速发展的今天,三大框架在各自擅长的领域独领风骚,Vue 作为一个轻量级的框架也深受国人开发者喜爱,今晚有雨,待在屋里写了一个 Vue 小示例,于我复习巩固,也记录下来供初学者参考:

<template>  <div class="todos">    <h1> {{ title }} </h1>    <ul>      <li v-for="(todo, index) in todos" :id="index" :class="{'checked': todo.done}">        <label> {{ index + 1 }} . {{todo.value}} </label>        <time> {{todo.created | date }} </time>      </li>    </ul>  </div></template><script>  import moment from 'moment'  import 'moment/locale/zh-cn'  moment.locale('zh-cn')  export default {    data () {      return {        title: 'vue-todos',        todos: [          {            value: '阅读一本关于前端的书籍',            done: false,            created: Date.now()          },          {            value: '补充范例代码',            done: true,            created: Date.now() + 300000          },          {            value: '写心得',            done: false,            created: Date.now() - 300000          }        ]      }    },    filters: {      date (val) {        return moment(val).calendar()      }    }  }</script><!-- Add "scoped" attribute to limit CSS to this component only --><style lang = "less" scoped>  .todos {    h1 {      font-style: normal;    }    ul {      list-style-type: none;      padding: 0;      li {          display: inline-block;          margin: 0 10px;      }      li.checked {        color: #969696;      }    }  }</style>

最终的效果是这样的:

这里写图片描述

中间我们用到了非常知名的时间处理插件 – moment.js, 安装方法如下:

$ sudo npm install moment -S

同时重新加载项目:

$ sudo npm install

重新运行即可,这时我们再来做最后一点改动:

<time> {{todo.created | date }} </time>

然后就能看到我们图中的效果了。


中间我们用到了 less 预处理语言,在文件中引用 less,必须添加上语言标识:

<style lang = "less" scoped> ... </style>

这里的 scoped 的意思就是将样式仅仅作用于当前页面,既然要用 less,我们必须在工程中添加 less 编译,如下:

$ sudo npm install less style-loader css-loader less-loader -D

或者我们直接在 package.json 里面直接添加:

“css-loader”: “^0.28.4”,
“less”: “^2.7.2”,
“less-loader”: “^4.0.4”,

也能达到同样的效果,条条大路通罗马,目的达到就行


好了,夜深了,不给大家啰嗦了,麻雀虽小,五脏俱全,这个案例还是很经典的,希望大家有所收获!