Vue基础(1)_模板语法、数据绑定

模板语法

Vue模板语法有2大类:

1、插值语法;

功能:用于解析标签体内内容。

写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。
2、指令语法:

功能:用于解析标签(包括:标签属性、标签体内容、绑定事件......)。

举例:v-bind:href = "xxx" 或简写为 :href = "xxx" ,xxx同样要写js表达式,且可以直接读取到data中的所有属性。

备注:Vue中有很多的指令,且形式都是:v-????,此处我们只是拿v-bind举个例子。

举例:

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <!-- 引入vue -->
    <script type="text/javascript" src="../js/vue.js"></script>
    <title>模板语法</title>
</head>
<body>
    <div id="root">
        <h1>插值语法</h1>
        <h3>hello,{{name}}</h3>
        <hr>
        <h1>指令语法</h1>
        <a v-bind:href="school.url">{{name}}去百度</a>
        <a :href="school.url">{{name}}去百度</a>
        <!-- 网址大写 -->
        <a :href="school.url.toUpperCase()">{{school.name}}去百度</a>
    </div>
    <script>
        // 创建Vue实例
        new Vue({
            el:'#root',
            data:{
                name:'jack',
                school:{
                    name:'Tom',
                    url:'https://www.baidu.com/'
                }           
            }
        })
    </script>
</body>
</html>

数据绑定

Vue中有2种数据绑定的方式:

1、单向绑定(v-bind) :数据只能从data流向页面。

2、双向绑定(v-model) :数据不仅能从data流向页面,还可以从页面流向data。

备注:

  1. 双向绑定一般应用在表单类元素上(如:input、select等)。

  2. v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。

举例:

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>数据绑定</title>
    <script type="text/javascript" src="../js/vue.js"></script>

</head>

<body>
    <div id="root">
        <!-- 普通写法 -->
        单向数据绑定:<input type="text" v-bind:value="user"><br>
        双向数据绑定:<input type="text" v-model:value="user"><br><br>
        <!-- 简写 -->
        单向数据绑定:<input type="text" :value="user"><br>
        双向数据绑定:<input type="text" v-model="user">
    </div>
    <h2 v-model:></h2>
    <script>
        new Vue({
            el: '#root',
            data: {
                user: '请输入姓名',
            }
        })
    </script>

</body>
</html>

第一个框输入:张三

第二个框输入:李四

相关推荐
Aniugel11 分钟前
单点登录(SSO)系统
前端
鹏多多14 分钟前
移动端H5项目,还需要react-fastclick解决300ms点击延迟吗?
前端·javascript·react.js
serioyaoyao15 分钟前
上万级文件一起可视化,怎么办?答案是基于 ParaView 的远程可视化
前端
万少21 分钟前
端云一体 一天开发的元服务-奇趣故事匣经验分享
前端·ai编程·harmonyos
WindrunnerMax23 分钟前
从零实现富文本编辑器#11-Immutable状态维护与增量渲染
前端·架构·前端框架
不想秃头的程序员25 分钟前
Vue3 封装 Axios 实战:从基础到生产级,新手也能秒上手
前端·javascript·面试
数研小生39 分钟前
亚马逊商品列表API详解
前端·数据库·python·pandas
你听得到1141 分钟前
我彻底搞懂了 SSE,原来流式响应效果还能这么玩的?(附 JS/Dart 双端实战)
前端·面试·github
不倒翁玩偶41 分钟前
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
前端·npm·node.js