学习vue的第一天

121 阅读1分钟
html代码
//所有内容都要div里进行
<div id="app">
<h1>{{msg}}</h1>//data定义数据要解析到页面,需要在html页面写双话括号接收
</div>


js代码
<script scr=''></script>引入vue.js文件
<script>
Vue是构造函数需要new
new Vue({
  el:"#app", //用于挂载要管理的元素
  data:{ //定义数据
  msg:'你好',
  }
  //定义方法
  methods:{
  
  }
})
</script>

简单指令

v-bind:属性想使用动态变量就需要添加 简写为符号 冒号: v-on:事件绑定例如:click点击事件 简写@click

双向绑定指令v-model:

  • v-model 是一种语法糖 来实现双向绑定数据
  • v-model 可以在不操作Dom的条件下快速获取表单数据
  • 双向绑定data中的值,可以在input、textarea、select等使用,div等不可以
  • .lazy 在表单事件中 不会时时更新,只会在失去焦点的时候更新

条件渲染指令

  • v-if
  • v-show
  • if的条件为false的时候会把整个元素在Dom中删除
  • v-show 只是让元素做一层display:none 隐藏元素
  • v-if配套指令
  • v-else-if    v-else
  • 与原生同理

列表渲染指令v-for

类似与for in 只要用了v-for这个指令 在后面一定要绑定一个:key,而且尽量把id作为v-for 循环 里面有两项 item表示数组的每一项 index表示数组的索引 循环的时候需要加key 最好使用对象里面的属性为key值 没有再使用index

示例

输入email 和 密码 要求按enter可以alert出邮箱加密码 按enter非空校验 email必要 要有@和.

    <div id="app">
        邮箱:<input type="text" v-model="user" >
        密码:<input type="password" v-model="pwd">
        <button @keyup.enter="keyFn">提交</button>
    </div>
<script src="./node_modules/vue/dist/vue.min.js"></script>
<script>
    new Vue({
        el:'#app',
        data:{
            user:'',
            pwd:''
        },
        methods:{
            keyFn(e){
                if(!this.user.trim()||!this.pwd.trim()){
                    alert('邮箱或密码不能为空');
                    return
                }
                if(this.user.indexOf('@')==-1||this.user.indexOf('.')==-1){
                    alert('邮箱格式不正确')
                    return
                }
                alert(`您的邮箱是${this.user}密码是:${this.pwd}`)
            }
        }
    })
</script>