Vuejs --03 模板文法

來源:互聯網
上載者:User

標籤:function   mit   函數   eth   ref   bin   tac   流控   模板   

一、插值     1、文本
<span>{{msg}}</span>     //mustache文法 <span v-once>{{msg}}</span>     //一次性插值,當資料改變時,不會響應式更新
         2、純HTML     你的網站上動態渲染的任意 HTML 可能會非常危險,因為它很容易導致 XSS 攻擊。請只對可信內容使用 HTML 插值,絕不要對使用者提供的內容插值。
<div v-html="rawHtml"></div>
      3、特性          3.1     mustache 文法不能作用在HTML特性上(也就是只能資料賦值,不能屬性賦值,屬性賦值用v-bind指令)          3.2     v-bind指令同樣適用布爾類型:如果求值結果是 falsy 的值,則該特性將會被刪除      4、適用JavaScript運算式
{{num + 1}}{{num > 0 ? num++ : num}}{{ message.split(‘‘).reverse().join(‘‘) }}<div v-bind:id="‘list-‘ + id"></div>

//以下報錯: <!-- 這是語句,不是運算式 -->{{ var a = 1 }}<!-- 流量控制也不會生效,請使用三元運算式 -->{{ if (ok) { return message } }}

 

二、指令

     1、是帶v-首碼的特殊屬性,預期是單個JavaScript運算式。 指令的職責:當運算式值發生改變時,將其產生的連帶影響,響應式地作用於DOM      2、參數:可以是HTML 屬性,事件名等
<a v-bind:href="url"></a><a v-on:click="btnEvent"></a>
     3、修飾符     修飾符(Modifiers)是以半形句號  . 指明的特殊尾碼,用於指出一個指令應該以特殊方式綁定。
<form v-on:submit.prevent="onSubmit"></form>
 三、過濾器     1、解釋:上一個過濾器的輸出成為下一個過濾器的輸入,然後再次過濾     eg.    {{ msg | capitalize }}  --> 將輸入的字串轉換成大寫字母的過濾器。     2、Vuejs允許自訂過濾器,用於一些常見的文字格式設定化,可以用在兩個地方:mustache、v-bind運算式。 過濾器應該被添加在 JavaScript 運算式的尾部,由“管道”符指示
<!-- in mustaches -->{{ message | capitalize }}     // message 結果是 capitalize 的輸入<!-- in v-bind --><div v-bind:id="rawId | formatId"></div> <script>     new Vue({        // ...        filters: {            capitalize: function(value) {     //value,是上一個過濾器的輸出得出的結果,先成為此過濾器的輸入,即value=message                if (!value) return ‘‘                value = value.toString()                return value.charAt(0).toUpperCase() + value.slice(1)            }        }    }) </script>
     3、過濾器可以串聯
{{ message | filterA | filterB }}
     4、過濾器可以接受參數(因為過濾器是JavaScript函數)
{{ message | filterA(‘arg1‘, arg2) }}
 四、縮寫
<!-- 完整文法 --><a v-bind:href="url"></a><!-- 縮寫 --><a :href="url"></a> <!-- 完整文法 --><a v-on:click="doSomething"></a><!-- 縮寫 --><a @click="doSomething"></a>

 

  

Vuejs --03 模板文法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.