首页 > 其他 > 详细

vue学习

时间:2020-10-16 23:26:02      阅读:44      评论:0      收藏:0      [点我收藏+]

 

 

vue基础使用 步骤

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>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 1. 先引入vue核心文件 -->
    <script src="vue.js"></script>
</head>
<body>
<!-- 3. 在el属性对象的标签中,填写正确的vue语法展示或者控制数据 -->
<div id="app">
    {{message}}
</div>
{{message}}

</body>
    <script>
    // vue的基本使用三个注意事项:
    // 1. 一个html页面中可以存在多个vue实例对象,但是实例对象的变量名强烈建议唯一,而且每一个vue对象负责一个特效功能
    // 2. js中所有的变量和语法都是区分大小写的,new Vue()
    // 3. 建议实例化vue对象的代码写在body的最后面。免得出现html元素无法获取的错误出现

    window.onload = function(){
        // 2. 对vue的核心对象vm进行实例化
        var vm = new Vue({
            el: "#app", // 接下来vue要操作的元素的选择符 element的缩写,表示元素
            data:{ // 保存一些前端使用的数据
                message: "hello world",
            },
        });
    }
    </script>
</html>

vue的框架思想(mvvm)

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

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

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

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 1. 先引入vue核心文件 -->
    <script src="vue.js"></script>
</head>
<body>
<!-- V,View,视图模板 -->
<div id="app">
    <input v-model="message"><br>
    {{message}}
</div>
<script>
    // new Vue,VM对象,负责时刻保证视图模板中的数据和data里面的数据一致!
    var vm = new Vue({
        el:"#app",
        data:{ // M,Model,模型里面的所有数据,将来都会作为vm对象的属性存在
            message: "一篇文章",
            num: 16,
        }
    })
</script>
</body>
</html>

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

console.log(vm.$el)        # #app  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里面对应数据的值也会随之发生改变,甚至,页面中凡是使用了这个数据都会发生变化。

显示数据

1. 在双标签中显示纯文本数据一般使用 {{}} 类完成数据的显示,双括号中还可以支持 js 表达式和符合 结束语法的代码,如函数的调用.

2. 在表单输入框中显示数据要使用 v-model 类完成数据的显示

3. 如果双标签的内容要显示数据包含html低吗,则使用 v-html来完成.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.min.js"></script>
    <script>
      window.onload = function(){
        var vm = new Vue({
          el:"#app",
          data:{
            str1: "hello",
            num: 20,
            price: 7.1,
            url1: "http://www.baidu.com",
            url2: "http://www.taobao.com"
          }
        })        
        }
    </script>
</head>
<body>
    <p>{{ str1 }}</p>
    <p>{{ str1.split("").reverse().join("") }}</p>
    <p>num和num2中比较大的数是:{{ num>num2? num:num2 }}</p>
    <input type="text" v-model="name">
    <p>{{(price+0.8).toFixed(2)}}</p>
</body>
</html>

 

双花括号仅用输出文本内容,如果要输出 html 代码,则不能使用这个,要使用 v-html 来输出, v-htnl 必须在 html 标签里面作出属性写出来.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
    <div class="app">
        <h1>{{title}}</h1>
        <h3>{{url1}}</h3>
        {{img}}<br>
        <span v-html="img"></span>
    </div>
    <script>
        let vm = new Vue({
            el:".app",
            data:{
                title:"我的vue",
                url1:"我的收获地址",
                img:<img src="images/shendan.png">,
            }
        })
    </script>
</body>
</html>

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

  <h1>{{message}}<h1>

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

  <input type+‘text‘ v-model=‘username‘?

在输入内容到普通标签的使用{{}}
v-model 或者 v-html 等 vue的属性,或者({{}} 都支持jd代码.



<h1>{{str1.split("").reverse().join("")}}</h1>
    <!-- 3.2 支持js的运算符-->
    <h1>{{num1+3}}</h1>

    <!-- 3.3 js还有一种运算符,三元运算符,类似于python里面的三元表达式
        三元运算符的语法:
         判断条件 ? 条件为true : 条件为false的结果

        python 三元表达式[三目运算符]的语法:
        a if 条件 else b
     -->
    <h1>num1和num2之间进行比较,最大值:{{ num2>num1?num2:num1 }}</h1>

栗子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue的快速使用</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <p>{{url}}</p>
    <div>{{text}}</div>
    <div v-html="text"></div>
    <input v-model="url">
    <div>num是{{num%2==0?‘偶数‘:‘奇数‘}}</div>
    <div>num的下一个数字:{{num-0+1}}</div>
    <input type="text" v-model="num">
    <div>{{message.split("").reverse().join("")}}</div>
    <input type="text" v-model="message">
</div>
    <script>
    var vm = new Vue({
        el:"#app", // 设置vue对象控制的标签范围
        data:{     // vue要操作的数据
            url:"http://www.luffycity.com",
            text:"<h1>大标题</h1>",
            num: 100,
            message:"abcdef",
        },
        
    })
    </script>
</body>
</html>

 

vue学习

原文:https://www.cnblogs.com/f211/p/13823720.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!