IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue:idea编写Vue程序 -> 正文阅读

[JavaScript知识库]Vue:idea编写Vue程序

一、环境布置

首先安装vue插件

cdn vue.js:主要导入在我们前端页面上

<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>

?二、第一个Vue程序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    {{message}}
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message:"hello,vue!"
        }
    });
</script>
</body>
</html>

?浏览器的控制台输入:

vm.message="hello"

可对浏览器页面上显示的结果进行修改?

三、v-指令?

1、v-bind:绑定

v-bind和{{}}差不多的意思

v-bind:title? ? 鼠标放上信息显示

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <span v-bind:title="message">我是谁!</span>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message:"狗!"
        }
    });
</script>
</body>
</html>

2、v-if,v-else,v-else-if:判断

v-if,v-else

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <h1 v-if="ok">Yes</h1>
    <h1 v-else>No</h1>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            ok : true
        }
    });
</script>
</body>
</html>

v-if,v-else,v-else-if

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <h1 v-if="ok==='A'">A</h1>
    <h1 v-else-if="ok==='B'">B</h1>
    <h1 v-else-if="ok==='C'">C</h1>
    <h1 v-else>D</h1>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            ok : "A"
        }
    });
</script>
</body>
</html>

3、v-for:循环

不带索引?

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <li v-for="item in items">
        {{item.message}}
    </li>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            items:[
                {message:"Java"},
                {message:"C#"},
                {message:"C"}
            ]
        }
    });
</script>
</body>
</html>

带索引?

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">
    <li v-for="(item,index) in items">
        {{item.message}},{{index}}
    </li>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            items:[
                {message:"Java"},
                {message:"C#"},
                {message:"C"}
            ]
        }
    });
</script>
</body>
</html>

4、v-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.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <button v-on:click="sayHi">click me</button>
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message : "hello,vue"
        },
        methods : {
            sayHi : function () {
                alert(this.message);
            }
        }
    });
</script>
</body>
</html>

5、v-model:双向绑定

是两边的messge信息绑定在一起

input:text:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <input type="text" v-model="message"/> {{message}}
</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message : "hello,vue"
        },
    });
</script>
</body>
</html>

?input:radio:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <input type="radio" value="男" v-model="message"/> 男
    <input type="radio" value="女" v-model="message"/> 女<br>
    选中了:{{message}}

</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message : ""
        },
    });
</script>
</body>
</html>

select:

disabled属性:不能被选择

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <select v-model="message">
        <option value="" disabled>--请选择--</option>
        <option>A</option>
        <option>B</option>
        <option>C</option>
    </select><br>
    选中了:{{message}}

</div>

<script>
    var vm=new Vue({
        el : "#app",
        data:{
            message : ""
        },
    });
</script>
</body>
</html>

?四、组件

类似于Thymeleaf的th:fragment

初体验:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <ly></ly>

</div>

<script>
    Vue.component("ly",{
        template: '<li>java</li>'
    });

    var vm=new Vue({
        el : "#app"
    });

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

实现组件中数据的动态:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
</head>
<body>

<div id="app">

    <ly v-for="item in items" v-bind:pr="item"></ly>

</div>

<script>
    Vue.component("ly",{
        props : ['pr'],
        template: '<li>{{pr}}</li>'
    });

    var vm=new Vue({
        el : "#app",
        data : {
            items : ["Java","C","C#"]
        }
    });

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

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-01 14:24:51  更:2021-08-01 14:26:22 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 18:18:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码