Vue快速入门(一) - Go语言中文社区

Vue快速入门(一)


一.vue.js的快速入门使用

1.vue.js库的下载

vue.js是目前前端web开发最流行的工具库,由尤雨溪在2014年2月发布的。

另外几个常见的工具库:react.js ( Facebook 的内部项目)/angular.js(谷歌)

官方网站:

​ 中文:https://cn.vuejs.org/

​ 英文:https://vuejs.org/

官方文档:https://cn.vuejs.org/v2/guide/

vue.js目前有1.x、2.x和3.x 版本,我们学习2.x版本的。

2.vue.js库的基本使用

在官网下载地址: <https://cn.vuejs.org/v2/guide/installation.html

vue的引入类似于jQuery,开发中可以使用开发版本vue.js产品上线要换成vue.min.js

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <script src="js/vue.js"></script>

    <script>

    window.onload = function(){

       // vue.js的代码开始于一个Vue对象。所以每次操作数据都要声明Vue对象开始。

        var vm = new Vue({

            el:'#app',   // 设置当前vue对象要控制的标签范围。

            data:{  // data是将要展示到HTML标签元素中的数据。

              message: 'hello world!',

            }

        });

    }

    </script>

</head>

<body>

<div id="app">

    <!-- {{ message }} 表示把vue对象里面data属性中的对应数据输出到页面中 -->

    <!-- 在双标签中显示数据要通过{{  }}来完成 -->

    <p>{{ message }}</p>

</div>

</body>

</html>

代码执行效果:

 

总结:

1. vue的使用要从创建Vue对象开始

   var vm = new Vue();

2. 创建vue对象的时候,需要传递参数,是json对象,json对象对象必须至少有两个属性成员

   var vm = new Vue({

     el:"#app",

   data: {

         数据变量:"变量值",

         数据变量:"变量值",

         数据变量:"变量值",

     },

   });

   el:设置vue可以操作的html内容范围,值一般就是css的id选择器。

   data: 保存vue.js中要显示到html页面的数据。

3. vue.js要控制器的内容外围,必须先通过id来设置。

  <div id="app">

      <h1>{{message}}</h1>

      <p>{{message}}</p>

  </div>

3.vue.js的M-V-VM思想

MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式。

Model 指代的就是vue对象的data属性里面的数据。这里的数据要显示到页面中。

View指代的就是vue中数据要显示的HTML页面,在vue中,也称之为“视图模板” 。

ViewModel 指代的是vue.js中我们编写代码时的vm对象了,它是vue.js的核心,负责连接 View 和 Model,保证视图和数据的一致性,所以前面代码中,data里面的数据被显示中p标签中就是vm对象自动完成的。

 

 

编写代码,让我们更加清晰的了解MVVM:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <script src="js/vue.js"></script>

</head>

<body>

    <div id="app">

        <!-- 在双标签中显示数据要通过{{  }}来完成 -->

        <!--要想正常显示vue提供的数据,必须要放在vue对象控制标签里-->

        <h1>{{name}}</h1>

        <p>{{age}}</p>

        <!-- 在表单输入框中显示数据要使用v-model来完成,模板语法的时候,我们会详细学习 -->

        <input type="text" v-model="name">

    </div>

<script>

window.onload = function(){

    // 创建vm对象

    var vm = new Vue({

        el: "#app",

        data: {

            name:"大标题",

            age:16,

        },

    })

}

</script>

</body>

</html>

在浏览器中可以在 console.log通过 vm对象可以直接访问el和data属性,甚至可以访问data里面的数据

console.log(vm.$el)     # #box  vm对象可以控制的范围

console.log(vm.$data);  # vm对象要显示到页面中的数据

console.log(vm.$data.message);  # 访问data里面的数据

console.log(vm.message);# 这个 message就是data里面声明的数据,也可以使用 vm.变量名显示其他数据,message只是举例。

 

总结:

1. 如果要输出data里面的数据作为普通标签的内容,需要使用{{  }}

   用法:

      vue对象的data属性:

          data:{

            name:"小明",

          }

      标签元素:

       <h1>{{ name }}</h1>

2. 如果要输出data里面的数据作为表单元素的值,需要使用vue.js提供的元素属性v-model

   用法:

      vue对象的data属性:

          data:{

            name:"小明",

          }

      表单元素:

       <input v-model="name">

   使用v-model把data里面的数据显示到表单元素以后,一旦用户修改表单元素的值,则data里面对应数据的值也会随之发生改变,甚至,页面中凡是使用了这个数据都会发生变化。

4.显示数据

(1)在双标签中显示数据要通过{{  }}来完成数据显示

(2)在表单输入框中显示数据要使用v-model来完成数据显示

(3)双花括号仅用输出文本内容,如果要输出html代码,则不能使用这个.要使用v-html来输出.

v-html必须在html标签里面作为属性写出来。

例:

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <script src="js/vue.js"></script>

</head>

<body>

<div id="app">

<!--    没有渲染效果-->

    {{link}}

    <p v-html="link"></p>

<p>num是一个{{num%2==0?'偶数':'奇数'}}</p>

<!--  js还有一种运算符,三元运算符,类似于python里面的三元表达式

        三元运算符的语法:

         判断条件 ? 条件为true : 条件为false的结果

        python 三元表达式[三目运算符]的语法:

        a if 条件 else b

-->

<!--    + 有字符串拼接的效果,so,要-0-->

    <p>num的下一个整数{{num-0+1}}</p>

    <!--倒序显示-->

    <p>{{message.split('').reverse().join('')}}</p>

    <!--message正序显示-->

    <input type="text" v-model="message">

</div>

<script>

    var vm = new Vue({

        el: "#app",  // 设置vue对象控制的标签范围

        data: {   // vm对象使用的数据

            link: '<a href="https://www.baidu.com/?tn=96928074_hao_pg">百度</a>',

            num: '100',

            message: "abcdef",

        }

    })

</script>

</body>

</html>

显示结果:

 

总结:

1. 可以在普通标签中使用{{  }} 或者 v-html 来输出data里面的数据

   <h1>{{message}}</h1>

   

2. 可以在表单标签中使用v-model属性来输出data里面的数据,同时还可以修改data里面的数据

   <input type="text" v-model="username">

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_24036403/article/details/99171687
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 22:09:43
  • 阅读 ( 815 )
  • 分类:前端

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢