Vue模板语法指令缩写

Vue / 572人浏览 / 0人评论

v- 前缀作为一种视觉提示,用来识别模板中 Vue 特定的 attribute。当你在使用 Vue.js 为现有标签添加动态行为 (dynamic behavior) 时,v- 前缀很有帮助,然而,对于一些频繁用到的指令来说,就会感到使用繁琐。同时,在构建由 Vue 管理所有模板的单页面应用程序 (SPA - single page application) 时,v- 前缀也变得没那么重要了。因此,Vue 为 v-bind 和 v-on 这两个最常用的指令,提供了特定简写:

Vue.js 是什么?

Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

如果你已经是有经验的前端开发者,想知道 Vue 与其它库/框架有哪些区别,请查看对比其它框架。

Vue模板语法指令缩写

以下代码是保存至一个index.html的文档(文件后缀名是.html)中,并非是.vue的文件,当今后学会了一些更vue复杂的应用的时候,比如CLI创建了更复杂的vue应用,并支持单文件组件,那在项目下创建的文件可能就是以.vue为后缀的文件。
v- 前缀作为一种视觉提示,用来识别模板中 Vue 特定的 attribute。当你在使用 Vue.js 为现有标签添加动态行为 (dynamic behavior) 时,v- 前缀很有帮助,然而,对于一些频繁用到的指令来说,就会感到使用繁琐。同时,在构建由 Vue 管理所有模板的单页面应用程序 (SPA - single page application) 时,v- 前缀也变得没那么重要了。因此,Vue 为 v-bind 和 v-on 这两个最常用的指令,提供了特定简写:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue模板语法指令缩写</title>
    <script src="vue.js" type="text/javascript" charset="utf-8"></script>    
</head>
<body>
    <div id="app">
        <h2>缩写</h2>
        <!--
            v- 前缀作为一种视觉提示,用来识别模板中 Vue 特定的 attribute。
            当你在使用 Vue.js 为现有标签添加动态行为 (dynamic behavior) 时,v- 前缀很有帮助,然而,对于一些频繁用到的指令来说,就会感到使用繁琐。
            同时,在构建由 Vue 管理所有模板的单页面应用程序 (SPA - single page application) 时,v- 前缀也变得没那么重要了。
            因此,Vue 为 v-bind 和 v-on 这两个最常用的指令,提供了特定简写:
        -->
        <h2>v-bind 缩写</h2>
        <!-- 完整语法 -->
        <p><a v-bind:href="site_url"> {{ sitename }} </a></p>

        <!-- 缩写 -->
        <p><a :href="site_url"> {{ sitename }} </a></p>

        <!-- 动态参数的缩写 (2.6.0+) -->
        <p><a :[key]="site_url"> {{ sitename }} </a></p>
        <!--
            在接下来对 v-on 和 v-for 等功能的探索中,你会看到修饰符的其它例子。
        -->
        <h2>v-on 缩写</h2>
        <!-- 完整语法 -->
        <p><a v-on:click="doSomething"> {{ sitename }} </a></p>

        <!-- 缩写 -->
        <p><a @click="doSomething"> {{ sitename }} </a></p>

        <!-- 动态参数的缩写 (2.6.0+) -->
        <p><a @[event]="doSomething"> {{ sitename }} </a></p>
        <!--
            它们看起来可能与普通的 HTML 略有不同,但 : 与 @ 对于 attribute 名来说都是合法字符,在所有支持 Vue 的浏览器都能被正确地解析。
            而且,它们不会出现在最终渲染的标记中。
            缩写语法是完全可选的,但随着你更深入地了解它们的作用,你会庆幸拥有它们。
        -->
    </div>
    <script type="text/javascript">
        var vm = new Vue({
            el: '#app',
            data: {
                message: 'Hello Vue!',
                site_url: 'http://www.fxzbcn.com',
                sitename: '编程之吧',
                seen: true,
                attributename: 'href',
                eventname: 'click',
                value: 'color:red;',
                key: 'href',
                event: 'click'
            },
            methods:{
                onSubmit: function(){
                    // 阻止默认表单提交
                    // 做你自己想做的事,比如ajax请求后台数据
                    return false;
                },
                doSomething: function(){
                    console.log(this);
                }
            }
        });
    </script>
</body>
</html>

转载注明:

0 条评论

还没有人发表评论

发表评论 取消回复

记住我的信息,方便下次评论
有人回复时邮件通知我