Vue 简单介绍及入门

26 篇文章 0 订阅

Vue 简单介绍及入门

Vue.js

Angular

  • Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。

  • Vue 只关注视图层, 采用自底向上增量开发的设计。

  • Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

  • 相比于javascript更加简单易学

  • 官网:https://cn.vuejs.org/

HelloVue

第一个Vue程序

vue.js

1:下载vue.js
https://cdn.jsdelivr.net/npm/vue/dist/vue.js

2:创建静态web项目

3:将vue.js导入项目

4:编写hello页面,引入vue.js

5:启动服务器,显示效果

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello-vue</title>
    <script src="/js/vue/vue.js"></script>
</head>
<body>

<div id="app">
    {{ message }}
</div>
<script>
    var app = new Vue({
        el: '#app',
        data: {
            message: 'Hello Vue!'
        }
    })
</script>
</body>
</html>

Vue 常见指令

属性: vue一直解析数据的指令
{{}}
v-bind
  • 除了使用插值表达式{{}}进行数据渲染,也可以使用 v-bind指令,它的简写的形式就是一个冒号(:)

  • v-bind: 表示通知vue在渲染的 DOM 标签时,将bind绑定的属性 和 Vue 实例data中同名属性值保持一致

  • 实例:

<!--v-bind属性绑定--->
<div id="app">
    <!--v-bind-->
    <span v-bind:title="title">看这里, 看这里</span>
</div>
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          title:"瞅啥瞅~"
      }
    })
</script>
<!-- 简写的方式 -->
<div id="app">
    <!--v-bind-->
    <span :title="title">看这里, 看这里</span>
</div>
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          title:"瞅啥瞅~"
      }
    })
</script>

<!-- 其他属性 -->

绑定图片:
v-bind:src    或者  :src

绑定样式:
v-bind:class  或者 :class

绑定链接:
v-bind:href   或者 :href

v-model
  • 双向数据绑定和单向数据绑定:使用 v-model 进行双向数据绑定

  • 功能与v-bind类似, 不过数据可同步改动

  • 实例

<!--model双向绑定--->
<div id="app">

    <!--v-bind: 表示数据单项绑定,可以给html标签属性绑定参数,如果html属性值改变,vue中data数据值不会变动  -->
    v-bind:<input type="text" name="username" v-bind:value="username">

    <!--v-model:表示双向绑定,绑定数据功能跟v-bind是一样的, 区别在如果html属性值改变, vue的data数据也会变动-->
    v-model:<input type="text" name="username" v-model:value="username">

    <br>
    <span>{{username}}</span>

</div>
<script>
    var vue = new Vue({
        el:"#app",
        data:{
            username:"于老爷子"
        }
    })
</script>
v-html
  • {{属性}} 会原样输出数据属性,如果说数据是带有html格式的数据时,此时需要使用v-html指令

  • 实例

<div id="app" >
    {{content}}
</div>
v-html : 将html格式数据渲染出来
-->
<div id="app" v-html="content">
</div>

<script>
    var vue = new Vue({
        el:"#app",
        data:{
            content:"<span style='color: red;'>这是内容</span>"
        }
    })
</script>
v-if
  • 判断指令
  • 实例
<!--age是否大于18,等于18,小于18-->
<div id="app">
    <span v-if="age > 18">欢迎光临</span>
    <span v-else-if="age < 18">18禁</span>
    <span v-else="age == 18">这年纪好</span>
</div>
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          age:18
      }
    })
</script>
v-for
  • 循环指令
  • 普通数组

实例

<div id="app">
    <ul>
        <li v-for="item in arr">{{item}}</li>
    </ul>
    <!--带下标-->
    <ul>
        <li v-for="(item, index) in arr">{{index}}-{{item}}</li>
    </ul>
</div>
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:["a","b","c","d","d"]
      }
    })
</script>
  • 对象集合

实例:

<div id="app">
    <ul>
        <li v-for="u in list">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex==1?'男':'女'}}
        </li>
    </ul>
</div>
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          list:[
              {id:1,name:'dafei', age:18, sex:1},
              {id:2,name:'xiaofei', age:17, sex:1},
              {id:3,name:'huisiji', age:18, sex:0},
              {id:4,name:'xiaoxue', age:19, sex:0}
          ]
       }
   })
</script>
v-on
  • 事件绑定指令, 可缩写成@
  • 比如:
v-on:click       //绑定点击事件, 
@click

Vue 事件

事件函数
<script>
    var vue = new Vue({
          el:"#app",
          data:{
              list:[
                  {id:1,name:'dafei', age:18, sex:1},
                  {id:2,name:'xiaofei', age:17, sex:1},
                  {id:3,name:'huisiji', age:18, sex:0},
                  {id:4,name:'xiaoxue', age:19, sex:0}
              ]
          },
          methods:{
              choseClick : function () {
                  alert(1);
              },
              changeSelect : function(){
                  alert(2);
              }
          }
      })
</script>
事件对象
  • 事件信息封装对象: 使用 $event 标记
    <ul>
        <li v-for="u in list" v-on:click="choseClick($event)">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex==1?'男':'女'}}
        </li>
    </ul>


      methods:{
          choseClick:function (e) {
              alert(1);
          }
      }
获取事件源
  • 被触发事件的标签元素
    <ul>
        <li v-for="u in list" v-on:click="choseClick($event)">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex==1?'男':'女'}}
        </li>
    </ul>
    
      methods:{
          choseClick:function (e) {
              console.log(e.currentTarget);
          }
      }
事件传参
  • 调用事件函数传入参数
    <ul>
        <li v-for="u in list" v-on:click="choseClick($event,u.id,u.name)">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex==1?'男':'女'}}
        </li>
    </ul>


   methods:{
          choseClick:function (e, id, name) {
              console.log(e.currentTarget, id, name);
          }
      }

Vue的属性

el
  • 用来指示vue编译器从什么地方开始解析 vue 的语法
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:[1,2,3]
      },
      methods:{
          fun1:function () {
          },
          fun2:function () {
          }
      },
      filters:{
          dataFormat:function () {
          },
          sexFilter:function (sex) {
              return sex == 0? '女':'男'
          }
      }, 
      mounted:function () {
          console.log("执行数据初始化")
      }  
    })
</script>
data
  • 用来组织从view中抽象出来的属性,可以说将视图的数据抽象出来存放在data中
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:[1,2,3]
      }
    })
</script>
methods
  • 放置页面中的业务逻辑,js函数一般都放置在methods中
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:[1,2,3]

      },
      methods:{
          fun1:function () {
          },
          fun2:function () {
          }
      }
    })
</script>
filters
    <ul>
        <li v-for="u in list" v-on:click="choseClick($event,u.id,u.name)">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex==1?'男':'女'}}
        </li>
    </ul>

    <ul>
        <li v-for="u in list" v-on:click="choseClick($event,u.id,u.name)">
            {{u.id}}-{{u.name}}-{{u.age}}-{{u.sex | sexFilter}}
        </li>
    </ul>

<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:[1,2,3]
      },
      methods:{
          fun1:function () {
          },
          fun2:function () {
          }
      },
      filters:{
          dataFormat:function () {
          },
          sexFilter:function (sex) {
              return sex == 0? '女':'男'
          }
      }, 
      mounted:function () {
          console.log("执行数据初始化")
      }  
    })
</script>
mounted
  • 是一个函数, 在vue实例创建完成后被立即调用(html加载完成后执行
  • 一般用处初始化data中的数据
<script>
    var vue = new Vue({
      el:"#app",
      data:{
          arr:[1,2,3]

      },
      methods:{
          fun1:function () {
          },
          fun2:function () {
          }
      },
      filters:{
          dataFormat:function () {
          },
          sexFilter:function (sex) {
              return sex == 0? '女':'男'
          }
      }, 
      mounted:function () {
          console.log("执行数据初始化")
      }  
    })
</script>

vue 声明周期

在这里插入图片描述

  el:"#app",
  data:{
      arr:[1,2,3]

  },
  methods:{
      fun1:function () {
      },
      fun2:function () {
      }
  },
  filters:{
      dataFormat:function () {
      },
      sexFilter:function (sex) {
          return sex == 0? '女':'男'
      }
  }, 
  mounted:function () {
      console.log("执行数据初始化")
  }  
})
```

vue 声明周期

[外链图片转存中…(img-TQtQmSa9-1605278754528)]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue.js 是一款简单易学的前端框架,下面我将用300字详细介绍如何进行Vue简单入门项目。 首先,你需要确保你已经安装了Node.js和npm。然后通过npm全局安装Vue CLI,使用以下命令: npm install -g @vue/cli 接下来,在命令行中创建一个新的Vue项目: vue create my-project 在创建过程中,你可以选择使用默认配置或手动选择配置选项。这将根据你的项目需求而定。 创建完成后,进入项目目录: cd my-project 然后启动开发服务器: npm run serve 现在,你可以在浏览器中打开http://localhost:8080来查看项目的运行情况。 接下来,你需要了解Vue的基本概念和语法。Vue使用组件化开发,你需要在src目录下创建一个Vue组件。组件可以包含模板、数据、方法等。你可以使用单文件组件(.vue文件)或分开的模板、脚本和样式文件。 在组件中,你可以使用Vue的指令、数据绑定、事件处理等功能。可以通过改变数据和交互来构建动态的前端界面。 在项目中,你可以使用Vue Router进行页面导航。你需要定义路由和对应的组件,然后在代码中使用$route和$router来进行路由操作。 如果你需要调用后端接口,可以使用Vue的官方插件Vue Resource或者axios。这些工具可以帮助你发送HTTP请求并处理响应。 最后,当你完成了项目的开发,你可以使用npm run build命令打包你的项目。打包后的文件将会放在dist目录下,可以部署到服务器上。 以上就是一个简单Vue入门项目的介绍。希望对你有帮助,祝你在Vue的学习和开发中取得成功!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值