美文网首页
vue.js初始

vue.js初始

作者: Axiba | 来源:发表于2016-11-27 01:43 被阅读51次

vue.js不是一个框架,是一个提供MVVM风格,专注于UI层面的库。

一、简单使用
1

#快速全局安装
npm install -g vue-cli
#快速构建一个基于webpack 这个模板的项目
vue init webpack test-project

#cd 进项目
cd test-project
#安装依赖 ,cnpm的是使用不清楚可以看我另一篇文章http://www.jianshu.com/p/470d073461a0
cnpm install
#跑起来
npm run dev

2、编辑器

其实也没啥,因为用的是 atom, 所以需要安装一个 language-vue-component 插件支持Vue的语法高亮

二、一个简单的demo

textList.vue:

<template>
  <div class="hello">
    <ul @click="dosomething">
      <li v-for="item in items" v-text="item.title" v-bind:class="{customClass: item.ishasClass}" v-on:click="rowClick(item)"></li>
    </ul>
    <componentInput paramHead="head_" v-on:triggerFrom="addRow"></componentInput>
  </div>
</template>

<script>

import Util from './util.js'
import componentInput from './input'

export default {
  name: 'hello',
  data () {
    return {
      msg: 'Welcome to Your Vue.js Appeee',
      testmsg : 'zhengzelin',
      items: Util.getLocal()
    }
  },
  components: {
      componentInput
  },
  watch: {
      items: {
          handler: function(items) {
              Util.save(items);
          },
          deep: true
      }
  },
  methods: {
     dosomething:function(e){
         console.log(e.target.tagName);
     },
     rowClick: function(item){
         item.ishasClass = !item.ishasClass;
     },
     addRow: function(newItem){
         this.items.push({
             title: newItem,
             ishasClass: false
         })
     }
  }

}
</script>

<style scoped>

li {
  display: inline-block;
  margin: 0 10px;
}
li:hover{
    cursor: pointer;
}

.customClass {
    text-decoration: line-through;
}

</style>

util.js:

const TEXTLIST = 'newTextList'
export default {
    getLocal() {
        return JSON.parse(
            window.localStorage.getItem(TEXTLIST) || '[]'
        )
    },
    save (items) {
        window.localStorage.setItem(TEXTLIST, JSON.stringify(items))
    }
}

input.vue:

<template>
  <div class="hello">
    <input v-model="newItem" v-on:keyup.enter="addRow"></input>
  </div>
</template>

<script>

export default {
    data () {
      return {
        newItem: ''
      }
    },
    props: ['paramHead'],
    methods: {
       addRow: function(){
           this.$emit('triggerFrom',this.paramHead+this.newItem);
           this.newItem = ''; //双向绑定,数据驱动UI
       }
    }

}
</script>

相关文章

  • 《Vue.js 实战》基础篇(上)

    本章内容:认识 Vue.js、数据绑定、计算属性、内置指令 一、初始 Vue.js 1.1 Vue.js 是什么 ...

  • Vue——初始Vue & Vue的响应式原理 & Vue常用指令

    一、初始Vue 1、准备一个容器 2、引入vue.js文件 方式(1)引入本地vue.js文件 vue.js文件官...

  • vue.js初始

    vue.js不是一个框架,是一个提供MVVM风格,专注于UI层面的库。 一、简单使用1 2、编辑器 其实也没啥,因...

  • vue2-生命周期1

    初始阶段new Vue() 到created之间 的阶段叫做初始化阶段。这个阶段的目的是在vue.js实例上初始化...

  • vue.js

    vue.js 谁在影响着页面?model中的data Vue.js 官网 api学习步骤引文件写结构初始化js 简...

  • 揭秘Vue中的Virtual Dom

    前言 Vue.js 2.0引入Virtual DOM,比Vue.js 1.0的初始渲染速度提升了2-4倍,并大大降...

  • vue学习笔记

    初始化组件 1.流程图 2.组件初始化 vue.js instance/init.js instance/scop...

  • Vue.js的runtime分析

    Vue核心 Vue.js执行了初始化定义(initMixin)、状态管理(stateMixin)、事件(event...

  • Vue.js 中遇到的坑坑坑 - 对象如何动态添加属性

    先看一下官方说明:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实...

  • Vuex简单使用

    一、初始化Vuex Vuex[https://vuex.vuejs.org/zh/]是一个专为 Vue.js 应用...

网友评论

      本文标题:vue.js初始

      本文链接:https://www.haomeiwen.com/subject/hvxgpttx.html