VUE框架简单基础

一个构建用户界面的框架

通过指令,来给DOM元素赋值或者其他操作。

1. 简单的指令及其作用:

在HTML标签中显示数据:
  --> {{}}
  --> v-text
  --> v-html
  这三条指令都是给HTML具体标签填充内容,可以是文本,也可以是其他标签
  -------------------
  --> v-if
  --> v-else
  这两条命令配合使用,如果变量为true,则插入if所在的标签,否则就插入else所在的标签。
  -------------------
  --> v-show
  如果变量为true则显示v-show所在的标签,否则隐藏v-show所在的标签,即添加属性display: none;
  注意和v-if的区别:一个是插入/删除标签的操作,一个是显示/隐藏标签的操作(标签一直都存在)
  -------------------
  --> v-for 循环数组或者对象{}
  --> v-bind 绑定标签的属性,随时修改
  --> v-on 为标签绑定事件
  例子:
  <head>
    <script src="vue.js"></script>
  </head>
  <body>
    <div id="app">
      <p>{{v1}}</p>
      <p v-text="v1"></p>
      <p v-html="v2"></p>
      <p v-if="v3">哈哈哈</p>
      <p v-else="v3">呜呜呜</p>
      <p v-show="v3">嘻嘻嘻</p>
      
<a v-bind:href="url">{{url}}</a>
      <input type="button" v-on:click="showtest"/>
    </div>
    
    <div id="fTest">
    <ul>
     <li v-for="item in d1">
    {{item}}
     </li>
    </ul>

    <ul>
     <li v-for="(item,index) in d1">
     {{index}},{{item}}
     </li>
     </ul>

     <ul>
     <li v-for="(val,key) in d2">
     {{key}},{{val}}
     </li>
     </ul>
    </div>

    
    <script>
      var vm = new Vue({
        el:"#app",
        data:{
          v1:"哈喽",
          v2:"<a>hello</a>",
          v3:true,
          url:"http://www.baidu.com"
        },
        methods:{
           showtest: function(){
              alert(123)
           }
        }
      })

      var f = new Vue({
       el:"#fTest",
       data:{
       d1:[11,22,33,44],
       d2:{'name':'egon','age':23,'weight':45,'height':180}
       }
      })

    <script>
  </body>

 2. v-model的使用:

数据的双向绑定:应用于input标签
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
</head>
<body>
<div id="app">
用户名:<input type="text" v-model="username">
密码:<input type="password" v-model="password">
<input type="button" value="登录" @click="login">
</div>

<script>

var vm = new Vue({
el:"#app",
data:{
username:'',
password:''
},
methods:{
login:function () {
console.log(this.username+" "+this.password) #可以直接取到input标签中输入的值,而不必去找到标签,然后再取值
}
}
})

</script>
</body>
</html>
 
应用在select标签:
<div id="app1">
<select name="city" v-model="v1">
<option value="1">衡水</option>
<option value="2">石家庄</option>
<option value="3">保定</option>
<option value="4">唐山</option>
</select>
<input type="button" value="提交" @click="sel">
</div>

<script>
var c = new Vue({
el:"#app1",
data:{
v1:'1' #默认选中衡水
},
methods:{
sel:function () {
console.log(this.v1)
}
}
})
</script>
 

3. axios(异步请求)的应用

类似于ajax
主要有两种请求方式:get和post
1.get请求:有两个参数
        --->1 请求的url
        --->2 请求需要加在url后面的参数params
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
<script src="axios.js"></script>
</head>
<body>
<div id="app">
<input type="button" value="加载数据" @click="load">

<p v-text="v1"></p>
</div>

<script>

var vm = new Vue({
el:"#app",
data:{
v1:''
},
methods:{
load:function () {
url='index/load/'; #去哪请求数据
var self = this; #这个this指的是vm
axios.get(url,{
params:{
'name':'egon',
'age':13
}
}).then(function (response) {
               console.log(this) #这里的this是Windows object,不能取到data中的值
self.v1 = response; #把返回的数据赋值给vm中的变量v1
console.log(response)
}).catch(function (err) {
console.log(err)
})
}
}
})

</script>
</body>
</html>
 
2.post请求
有三个参数:
  -->1 url,往哪发送数据
  -->2 {},要发送的数据,最外层是字典,数据以键值对存在
  -->3 {},携带请求头
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="vue.js"></script>
<script src="axios.js"></script>
</head>
<body>
<div id="app">
用户名:<input type="text" v-model="username">
密码:<input type="password" v-model="pwd">
<input type="button" value="提交" @click="login">
</div>

<script>

var vm = new Vue({
el:"#app",
data:{
username:'',
pwd:''
},
methods:{
login:function () {
url='hotcity.json';
axios.post(url,
{
username:this.username,
pwd:this.pwd
},{
'headers':{'Content-Type':'application/x-www-form-urlencode'}
}).then(function (response){
console.log(response)
}).catch(function (err){

})
}
}
});

</script>
</body>
</html>
 

 二、通过脚手架创建VUE工程:

  --> 安装脚手架

    npm install vue-cli -g

  -->创建基于webpack模板的项目

    vue init webpack myProject

  -->进入项目并安装依赖

    cd myProhect

    npm install

  -->启动项目

    npm run dev

原文地址:https://www.cnblogs.com/guomeina/p/7844608.html