1. 程式人生 > >vue指令v-html中使用過濾器filters功能

vue指令v-html中使用過濾器filters功能

Vue 2.0 不再支援在 v-html 中使用過濾器

解決方法:

1:全域性方法(推薦)

2:computed 屬性

3:$options.filters(推薦)

1:使用全域性方法:

可以在 Vue 上定義全域性方法:

Vue.prototype.msg = function(msg){

  return msg.replace("\n","<br>")

};

然後所有地方上都可以直接用這個方法了:

<div v-html="msg(content)"></div>

2:computed 屬性

var appMain = new Vue({

  data:{

    content:"XXX"

  },

  el:"#appMain",

  computed:{

    content:function(msg){

      return msg.replace("\n","<br>")

    }

  }

})

頁面上:

<div>{{content}}</div>

3:$options.filters:

在定義的vue裡的filter新增方法:

var appMain = new Vue({

  el:"#appMain",

  filters:{

    msg:function(msg){

      return msg.replace(/\n/g,"<br>")

    }

  },

  data:{

    content:"XXXX"

  }

})

然後頁面上都可以直接用這個方法了:

<div id="appMain">

  <div v-html="$options.filters.msg(content)"></div>

</div>

例項場景分析以及應用:當後臺返回的資料包含一些特殊字元需要處理時,程式碼如下:

相關推薦

vue指令v-html使用過濾器filters功能

Vue 2.0 不再支援在 v-html 中使用過濾器 解決方法: 1:全域性方法(推薦) 2:computed 屬性 3

vue指令v-html示例解析

pan 元素 ner lan 模板 輸出內容 div bsp target 更新元素的innerHTML,不會作為vue模板編譯,可用組件來代替。 在網站上動態渲染任意 HTML 是非常危險的,因為容易導致 xss攻擊。只在可信內容上使用 v-html,永不用在用戶提交的內

v-html使用filters

Vue2.0的過濾器只能應用在{{ }}和v-bind中,不再支援v-html中使用,如果要在v-html中使用過濾器,怎麼辦呢? 解決方法有三種: 1、使用全域性方法 定義方法 methods: { formatTrend(val) { let tr

Vue-指令 v-text v-html v-model v-bind

1.v-text <div id="app"> <span v-text="msg"></span> </div> var app=new Vue({ el: "#app", data:{ msg: 'Hello Wrold

vue過濾器filters的使用

元件內寫法 filters:{ filter:function(data,arg1,arg2){ return .... } } 全域性寫法 filters('filter',function(data,arg1,arg2){ retrun

vuev-html標籤新增CSS樣式

在Vue元件中,我們可以使用<style scoped>標籤來新增針對該元件的CSS樣式。 <template> <div class="foo"> <div v-html="myHtml"></

Vue.js入門-內建指令v-html

詳細: 更新元素的 innerHTML 。注意:內容按普通 HTML 插入 - 不會作為 Vue 模板進行編譯 。如果試圖使用 v-html 組合模板,可以重新考慮是否通過使用元件來替代。 例項:

vue指令v-else示例解析

ren render span true 元素 rip class pan 如果 為 v-if 或者 v-else-if 添加 “else 塊”。 1 <div id="app"> 2 <p v-if="isRender">isRender

vue指令v-else-if示例解析

表示 data pan 示例 解析 cnblogs new blog 內容 表示 v-if 的 “else if 塊”。可以鏈式調用。 1 <div id="app"> 2 <p v-if="isRender">isRender is tr

angular類似於vuev-html的用法

<script> Angular將字符串輸出為HTML字符串vue:<div v-html=""newData.Contents"></div>anuglar:<div [innerHTML]="newData.Con

Vuev-html中標簽添加CSS樣式

true urn 原因 樣式 scope 導致 -html ont 屬性 在最近的vue項目中遇到的問題:v-html渲染的富文本,無法在樣式表中修改樣式; <template> <div class="msgHtmlBox" v-html=

Vuejs使用scoped style為v-html標籤新增CSS樣式

本文最新版本及更多技術文章請訪問我的個人技術部落格: http://blog.sbot.io 謝謝大家支援! 在Vue元件中,我們可以使用<style scoped>標籤來新增針對該元件的CSS樣式。 <template>

Vue指令v-once

正常情況下,如果改變data裡面的屬性值,屬性值會發生統一改變。程式碼如下:    <div id="app">    <h1>{{name}}</h1>    <p>

Vue指令v-for之遍歷陣列,json物件的幾種方式

定義資料:   <script>     new Vue({         el:"#test",         data:{      

Vue 指令v-bind和v-on

Vue2 指令v-bind和v-on 從這篇文章開始,總結一下Vue中的指令。這篇文章總結v-bind和v-on指令。 (1)v-bind v-bind的基本用法是動態更新HTML元素上的屬性,如id,class,href,src等。 下面以class為例: 1.v-bind

vue指令v-model(雙向資料繫結)自動收集資料

前言:表單提交資料在網站頁面中是十分常見的,而這個表單資料的獲取在原生寫法甚至於JQ都是比較麻煩的(首先需要獲取DOM,然後獲取值)。 但是,在vue的專案環境下,表單資料的收集又該怎麼辦呢?(這種自己寫input元素的方法在實際專案中是不常用的哈,因為一般我們都會用一個UI庫,方便而快捷!

vue指令:v-bind,v-for,v-model,v-on,v-cloak,v-once

v-bind 用法 1.動態地繫結一個或多個特性,或一個元件 prop 到表示式。 2.在繫結 class CSS樣式或 style 特性時,支援其它型別的值。 3.在繫結 prop 時,prop 必須在子元件中宣告。可以用修飾符指定不同的繫結型別。 4.沒有引

Android整合html呼叫拍照功能拍照後無法上傳問題分析解決

最近在做專案的時候遇到一個很詭異的問題,後來找到原因以後,發現原因很簡單,修改很easy,不多大多數情況下我們都容易忽略。 問題描述:使用Android手機中的html介面呼叫拍照功能(未使用第三方外掛),發現照片無法傳上去,但是使用從相簿選擇功能,就可以正常上傳照片。後來我把上次通過拍照儲

vue+element的表格批量刪除功能

記錄一下實現“批量刪除”需要注意的問題 頁面效果 表格程式碼 data中程式碼如下 data() { return { tableData: [], t

html回顧及vue.js在html使用(一)

牢騷 好長時間沒有寫關於html的程式碼,好多知識都忘得差不錯了,業務需要vue.js,順便回顧下html的知識。 html框架 瞭解html的都明白,html是超文字標記語言,姑且理解為標籤語言。 最基本的寫法結構: 圖例層: 程式碼層: