vue2学习笔记4 - 深入学习模板语法:插值语法和指令语法

前言

vue2学习笔记2-老规矩,从Hello World开始,了解Vue实例和模板-CSDN博客我们提到过,容器中的代码叫做Vue模板,它们遵循HTML规范,只是混入了特殊的Vue语法。这些特殊的Vue语法除了上一次我们提到的插值语法外,还有指令语法

插值语法,可以使用js表达式,读取vue实例data中的数据。但是能实现的功能比较单一,而且,也仅限于标签体中的文本替换。如果想要与元素的属性绑定,就不起作用了。这时,我们就需要指令语法。在官网API中,专门有一个指令集合,都以v-开头:

1、想要实现的效果

同样,我们先定义一个目标,想要在页面中添加一个链接,点击实现跳转

2、传统实现方式

直接将目标URL在模板中写死了,弊端不再赘述。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>模板语法</title>
        <!--引入vue.js,则全局就会多了一个vue的构造函数-->
        <script type="text/javascript" src="../js/vue.js"></script>
    </head>
    <body>
        <!--准备一个容器-->
        <div id="root">
            <!--添加想要展示的内容:文本插值, js表达式, 读取data中的数据-->
            <h1>插值语法</h1>
            <h3>你好,{{name}}</h3>
            <hr>
            <h1>指令语法</h1>
            <a href="http://baidu.com">点我打开百度</a>
        </div>
        <script type="text/javascript" >
            Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示
            const vm = new Vue({
                el:'#root',         //为当前Vue实例绑定容器,这里使用了css selector,绑定了id=‘root’的元素
                data:{              //存储数据,供el所绑定的容器所使用
                    name:'飞鸟'                    
                }
            })            
        </script>
    </body>
</html>

3、Vue实现方式

3.1、尝试插值语法

本例中,添加了一个跳转地址,但是问题是,这个地址同样是hardcode,我希望换成一个变量,这样方便维护。按照之前的方法,在vue实例data中定义一个URL,这里读取变量不就行了?试一下:

运行,查看所加载的html:

url并没有被替换,而是直接当成了一个字符串加载了。此时console中还有一个错误:

这里告诉我们属性中的插值语法已经被移除了,需要使用v-bind来实现。这就是指令语法。

3.2、指令语法

按照提示信息,使用v-bind:或其简写形式“:”,如下:

这时,属性href的值“url”会被当做js表达式执行,而非字符串。刷新后查看页面HTML,url被成功替换:

总结

1、插值语法:

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

        写法:{{xxxx}},其中xxxx是js表达式,且可以直接读取到data中的所有属性。

2、指令语法:

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

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

        备注:Vue中有很多的指令,且形式都是:v-????。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值