VUE学习--idea

本文介绍了Vue.js的基础知识,包括MVC和MVVM架构,MVVM的优势,以及Vue.js的重要特性如事件处理、数据双向绑定、组件、Axios异步通信、计算属性和插槽。同时,讲解了如何在IDEA中设置Vue环境,使用Vue CLI创建项目,理解Webpack配置,并涉及vue-router的初步应用。
摘要由CSDN通过智能技术生成

MVC三层架构

MVC==>Model+View+Controller应用于分层开发思想
Model:模型层,模型代表只存一个java pojo,可以带有逻辑,随时更新数据
View:视图层,代表模型包含的数据可视化
Controller:控制器层,控制数据流向模型,在数据发生变化时,更新视图,使的视图和模型分离

MVVM

MVVM:Model-View-View-Model一种设计模式,设计模式源于MVC,核心就是ViewModel负责转化Model中的数据对象,是的数据更容易管理,VM向上和视图层进行对数据进行双向绑定,向下和Model层通过接口进行数据交互

MVVM优点

MVVM和MVC的目的时一样的,主要是为了分离Model和View,
低耦合:VIew可以独立于Model进行修改,一个View绑定到不同的VM上,当View变化时,Model可以不变,当Model变化时,View也可以不变,
独立开发:开发人员专注于View和Model的开发,设计人员专注于页面设计
可复用:可以把多个View放在ViewModel上,让多个View复用视图逻辑
可测试:界面都是按照客户的需求来确定,客户需求不断变化,很难满足客户需求,可以针对ViewModel进行测试。

MVVM组成部分

Rutime及时运行 Compiler及时编译
在这里插入图片描述

学习Vue前的准备

idea下载vue插件,重启idea

第一个Vue程序

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<!--引入Vue-->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
<body>
<!--View层 模板-->
<div id="app">
{
  {message}}
</div>
<script>
var vm = new Vue({
    el:"#app",
    //Model :数据
    data:{
        message:'vue'
    }
})
</script>
</body>
</html>

说明:
el:"#app" :绑定元素id
data:数据对象中有一个message 的属性,初始化为vue

Vue的基本语法

v-bind:绑定一个数据,鼠标悬浮,显示提示信息

<!--View层 模板-->
<div id="app">
{
  {message}}
<span v-bind:title="message">鼠标悬浮出现提示信息</span>
</div>

带有v-的称之为指令, 表示vue提供的特殊属性,会在渲染DOM上应用特殊的响应式行为。

v-if、v-else

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<div id="app">
<span v-if="ok">ok</span>
<span v-else>no</span>

<h1 v-if="type==='a'">a</h1>
<h1 v-else-if="type==='b'">b</h1>
<h1 v-else>c</h1>
</div>
<script>
var vm = new Vue({
    el:'#app',
    data:{
        ok:true,
        type:'a'
    }
})
</script>
</body>
</html>

v-for

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<div id="app">
<h1 v-for="(item,index) in list">
    {
  {index}}--{
  {item.msg}}
</h1>
</div>
<script>
var vm = new Vue({
    el:"#app",
    data:{
        list:[
            {msg:"tt"},
            {msg:'yy'},
            {msg:'oo'}
        ]
    }
})
</script>
</body>
</html>

事件

on

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.min.js"></script>
</head>
<body>
<div id="app">
<h1 v-on:click="hello()">点我</h1>
</div>
<script>
var vm = new Vue({
    el:"#app",
    data:{
        msg:"Hello Vue"
    },
    methods:{
        hello:function () {
            alert(this.msg);
        }
    }
})
</script>
</body>
</html>

数据双向绑定

vue.js是MVVM框架,就是数据的双向绑定,当数据发生变化的时候,视图随之发生变化,当视图发生变化的时候,数据也会同步发送变化,


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值