• Vue基本介绍


    最近,有时间研究了一下vue,但只是刚刚开始。可能第一次写这个文档有点不好,请阅读的盆友们谅解一下。学过angular.js的人,应该看这个会稍微简单点吧。有相似处。

    1、vue.js是什么?

      简单来说:Vue是法语中视图的意思。他是一个轻巧、高性能、可组件化的MVVM库也可以理解为是一套构建用户界面的 渐进式框架。Vue的核心库只关注视图层。目标:通过尽可能简单的api实现相应的数据绑定组合的视图组件。同时拥有非常容易上手的API。

    2、如何使用

      第一步:先引入js文件:

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

    3、本节讲到的一些指令:(指令带有前缀 v-,以表示它们是 Vue.js 提供的特殊属性。)

      v-bind,v-if,v-for,v-on,v-model

    4、基本案例如下图所示:

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <!--第一步引入js-->
        <script src="https://unpkg.com/vue/dist/vue.js"></script>
    </head>
    <body>
    <h2>1、基本的输出hello vue</h2>
    <div id="app">
        <p>{{message}}</p>
    </div>
    <!--注意:
      数据和DOM已经绑定在了一起,所有的元素都是响应式的。  
      如何测试:可以打开你的浏览器控制台,修改app.message的值。回车。你会看到内容更新
      例如:app.message="some new ";
    --> <h2>2、指令v-bind</h2> <div id="app-2"> <!--v-bind指令--> <!-- 将元素节点title属性和vue的message属性绑定到一起--> <span v-bind:title="message"> Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquam delectus dignissimos eius,
        eum exercitationem ipsum molestiae neque nihil, perferendis similique sint velit, vero voluptate
    !
        Modi obcaecati praesentium sint voluptatem voluptatibus.
    </span> </div> <h2>3、条件与循环(v-if)</h2> <div id="app-3"> <p v-if="seen">now you see me</p> </div>
    <!--
      注意:app3.seen=false,内容会消失。
    --> <h2>3、循环(v-for)</h2> <div id="app-4"> <ol> <li v-for="todo in todos"><!--todo为名称循环todos--> {{todo.text}} </li> </ol> </div>
    <!--
      可以绑定DOM文本到数据,也可以绑定DOM结构到数据
      如图所示:
          
    -->
    <h2>4、处理用户输入v-on</h2>
    <div id="app-5">
    <p>{{message}}</p>
       <button v-on:click="reverseMessage">REVERSE MESSAGE</button>

    </div>
    <!--翻转字符串 如下图所示: 

    -->
    <h2>5、双向数据绑定v-model</h2> 
    <div id="app-6">
      <p>{{message}}</p>
      <input v-model="message">
    </div>
    <!--
      

      input里的内容如何变化,文本的内容也随之改变

    -->



    <h2>组件构建应用</h2>
    <div id="app-7">
    <ol>
    <!-- 我们提供为todo对象提供了todo-item-->
    <!--这就代表着内容必须是动态的-->
    <!-- 循环grocerylist取名为item,把item的值绑定给todo.把todo的值传给props-->
    <todo-item v-for="item in groceryList" v-bind:todo="item"></todo-item>
    </ol>
    </div>
    <script>
    var app1=new Vue({
    el:'#app',//元素id
    data:{
    message:"hello vue.js"//message的内容
    }
    })
    /*指令 bind绑定*/
    var app2=new Vue({
    el:"#app-2",
    data:{
    message:"your loded this page on"+new Date()
    // 可以打开console控制台。查看span 标签title的内容

    }
    })
    var app3=new Vue({
    el:"#app-3",
    data:{
    seen:false//绑定的数据消失。
    }
    })
    var app4=new Vue({
    el:"#app-4",
    data:{
    todos:[
    {text:"learn JAVASCRIPT"},
    {text:"Learn vue"},
    {text:"build something awesome"}
    ]
    }
    //在控制台输入。app4.todos.push({text:'new item'}).列表中会添加一个数据
    })
    var app5=new Vue({
    el:'#app-5',
    data:{
    message:'hello vue.js'
    },
    methods:{
    reverseMessage:function(){
    this.message=this.message.split('').reverse().join('')
    // 把字符串切割,然后翻转。在按拼接
    }
    }
    })
    var app6=new Vue({
    el:"#app-6",
    data:{
    message:'hello vue'
    }
    })


    Vue.component('todo-item',{
    props:['todo'],//todo-item组件接受一个“prop”支柱,它就像一个自定义属性。这个支柱叫做todo
    template:'<li>{{todo.text}}</li>'//todo.text就相当于调用的是groceryList.text
    })
    var app7=new Vue({
    el:"#app-7",
    data:{
    groceryList:[
    {text:"vegetables"},
    {text:'cheese'},
    {text:"whatever else humans"}
    ]
    }
    })
    </script>
    </body>
    </html>

      

  • 相关阅读:
    Haproxy 【转载】
    Nginx介绍
    Day 13 进程和线程
    运维第一课
    面试bb
    Day 12 字符串和正则表达式
    Day 11 文件和异常
    Day10 图形用户界面和游戏开发
    Day9 面向对象进阶
    day8 面向对象编程基础
  • 原文地址:https://www.cnblogs.com/1rui/p/6268829.html
Copyright © 2020-2023  润新知