zoukankan      html  css  js  c++  java
  • Vue入门

    一、引入vue

    方法一:下载vue.js,然后像引用jquery一样,在HTML中使用script标签引入

    <script src="https://unpkg.com/vue/dist/vue.js"></script>

    方法二:使用架构工具,推荐使用npm安装后,然后可以直接用作 AMD 模块

    var Vue = require('Vue');

    二、声明式渲染

    hello World实例(新建html将如下内容放在body中)

    <div id="app">{{ message }}</div>
    <script src="https://unpkg.com/vue/dist/vue.js"></script>
    <script>var app = new Vue({
        el: '#app',
        data: {message: 'Hello Vue!'}
    })
    </script>

    除了绑定插入的文本内容,我们还可以采用这样的方式将数据绑定到 DOM 元素的属性

    <div id="app-2">
      <span v-bind:title="message">Hover your mouse over me to see my title!</span>
      <!-- v-bind被称为指令,指令带有前缀 v-,以表示它们是 Vue.js 提供的特殊属性 v-bind:变量=‘数据’-->
    </div>
    var app2 = new Vue({
      el: '#app-2',
      data: {message: 'You loaded this page on ' + new Date()}
    })

    三、条件

    <div id="app-3"><p v-if="seen">Now you see me</p></div><!-- v-if 条件指令,v-if=‘数据(布尔值)’-->
    var app3 = new Vue({
      el: '#app-3',
      data: {seen: true}//设置为false时,P元素不渲染
    })

    四、循环

    <ol id="app-4"><li v-for="todo in todos">{{ todo.text }}</li></ol><!-- v-for 循环指令,v-for=‘列表项 in 数组数据’-->
    var app4 = new Vue({
      el: '#app-4',
      data: {todos:[{text: 'Learn JS'},{text:'Learn Vue'},{text: 'Build something awesome'}]}
     //app4.todos.push({text:'New item'})会新增列表项
    })

    五、用户输入

    <div id="app-5">
      <p>{{ message }}</p>
      <button v-on:click="reverseMessage">Reverse Message</button><!-- v-on绑定事件指令,v-on:事件类型=‘调用函数’ -->
    </div>
    var app5 = new Vue({
      el: '#app-5',
      data: {message: 'Hello Vue.js!'},
      methods: {
        reverseMessage: function () {
          this.message = this.message.split('').reverse().join('')
        }
      }
    })

    六、数据绑定

    <div id="app-6">
      <p>{{ message }}</p>
      <input v-model="message"><!-- v-model数据绑定指令 v-model=‘绑定的数据’-->
    </div>
    var app6 = new Vue({
      el: '#app-6',
      data: {message: 'Hello Vue!'}
    })

    七、组件

    <ol>
      <todo-item></todo-item><!--自定义组件-->
    </ol>
    Vue.component('todo-item', {//定义一个组件
      props: ['todo'],//将数据从父作用域传到子组件
      template: '<li>{{ todo.text }}</li>'
    })

    以下有数据传递的组件

    <ol id="app-7">
      <todo-item v-for="item in groceryList" v-bind:todo="item"></todo-item>
      <!--先循环从groceryList数组中分别获取列表项为item,将item赋值给todo分别传递给子组件-->
    </ol>
    Vue.component('todo-item', {
      props: ['todo'],//子元素通过props接口实现与父元素的数据传递
      template: '<li>{{ todo.text }}</li>'
    })
    var app7 = new Vue({
      el: '#app-7',
      data: {groceryList: [{ text: 'Vegetables' },{ text: 'Cheese' },{ text: 'Whatever' }]}
    })
  • 相关阅读:
    JS搞基指南----延迟对象入门提高资料整理
    JavaScript使用自定义事件实现简单的模块化开发
    nodeJS+bootstarp+mongodb整一个TODO小例子
    nodeJS+express+Jade写一个局域网聊天应用(node基础)
    jQ1.5源码注释以及解读RE
    jQ1.5中的事件系统(低版本的事件系统)
    JS中的事件类型和事件属性的基础知识
    [转][mysql]创建函数失败(1418错误)mysql双主模式导致的问题
    MySQL数据库导入错误:ERROR 1064 (42000) 和 ERROR at line xx:
    Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案
  • 原文地址:https://www.cnblogs.com/gulei/p/6383341.html
Copyright © 2011-2022 走看看