Vue.js 模板语法

Vue.js 是一套构建用户界面的渐进式框架。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

插值

<body>
    <div id="vue">  
        <!--文本-->
        <span>{{message}}</span>

<!--Html--> <br> <div v-html="msg"></div>
<!--属性--> <label for="r1">修改颜色</label><input type="checkbox" v-model="class1" id="r1"> <br><br> <div v-bind:class="{'class1': class1}"> directiva v-bind:class </div>

<!--表达式--> {{5+5}}<br> {{ ok ? 'YES' : 'NO' }}<br> {{ message.split('').reverse().join('') }} </div> <script src="js/vue.js"></script> <script> var vue=new Vue({ el: '#vue', data: { message: 'Hello Vue!', msg:'<h1>Hello World!</h1>', class1:true, ok:true } }); </script> </body>

指令

指令(Directives)是带有 v- 前缀的特殊属性,指令的职责就是当其表达式的值改变时相应地将某些行为应用到 DOM 上。

<body>
    <div id="vue">
        <!--指令-->
        <p v-if="seen">出现</p>
        <!--#参数-->
        <a v-bind:href="url">其他页面</a>
        <!--缩写:<a :href="url">其他页面</a>-->
        <button v-on:click="say('hi')">soWhat</button>
        <!--缩写:<button @click="say('hi')">soWhat</button>-->
    </div>

    <script src="js/vue.js"></script>
    <script>
        var vue=new Vue({
            el: '#vue',
            methods:{
                say: function(a) {
                    alert(a);
                }
            }
        });
    </script>
</body>

#
修饰符

修饰符(Modifiers)是以半角句号 . 指明的特殊后缀,用于指出一个指定应该以特殊方式绑定。

例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault():<form v-on:submit.prevent="onSubmit"></form>(取消事件的默认动作)

过滤器

Vue.js 允许你自定义过滤器,被用作一些常见的文本格式化。

<body>
        <!--过滤-->
        <!--过滤器可以串联-->
        <div>{{ imissu | filt }}</div>
        <div>{{ imissu | filt | filt1}}</div>
    </div>

    <script src="js/vue.js"></script>

    <script>
        var vue=new Vue({
            el: '#app',
            data: {
                imissu:"i miss u"
            },
            filters:{
                filt:function(value){
                    if (!value) return '';
                    value = value.toString();
                    return value.charAt(0).toUpperCase() + value.slice(1);
                },
                filt1:function(value){
                    if (!value) return '';
                    value = value.toString();
                    return value.split('').reverse().join('');
                }
            }
        });
    </script>    
</body>

缩写

v-bind 缩写:

<!-- 完整语法 --> <a v-bind:href="url"></a>

<!-- 缩写 -->   <a :href="url"></a>

v-on 缩写:

<!-- 完整语法 --> <a v-on:click="doSomething"></a>

<!-- 缩写 -->   <a @click="doSomething"></a>

 

posted @ 2017-02-22 15:04  米娜-火箭  阅读(737)  评论(0编辑  收藏  举报