computed 的作用主要是對原數據進行改造輸出。改造輸出:包括格式的編輯,大小寫轉換,順序重排,添加符號……。
# 格式化輸出結果:
我們先來做個讀出價格的例子:我們讀書的原始數據是price:100 但是我們輸出給用戶的樣子是(¥100元)。
主要的javascript代碼
~~~
computed:{
newPrice:function(){
return this.price='¥' + this.price + '元';
}
}
~~~
~~~
<body>
<div id="app">
{{newPrice}}
</div>
</body>
<script type="text/javascript">
var app = new Vue({
el: '#app',
data: {
price: 100
},
computed: {
newPrice: function () {
return this.price = '$' + this.price + '元';
}
}
});
</script>
~~~
現在輸出的結果就是:`$100元`
# 用計算屬性反轉數組
例如:我們得到了一個新聞列表的數組,它的順序是安裝新聞時間的順序正序排列的,也就是早反生的新聞排在前面。這是反人類的,我們需要給他反轉。這時我們就可以用到我們的計算屬性了。
沒有排序的新聞列表,是安裝日期正序排列的
~~~
var newsList=[
{title:'香港或就“裝甲車被扣”事件追責 起訴涉事運輸公司',date:'2017/3/10'},
{title:'日本第二大準航母服役 外媒:針對中國潛艇',date:'2017/3/12'},
{title:'中國北方將有明顯雨雪降溫天氣 南方陰雨持續',date:'2017/3/13'},
{title:'起底“最短命副市長”:不到40天落馬,全家被查',date:'2017/3/23'},
];
~~~
我們希望輸出的結果:
* 起底“最短命副市長”:不到40天落馬,全家被查-2017/3/23
* 中國北方將有明顯雨雪降溫天氣 南方陰雨持續-2017/3/13
* 日本第二大準航母服役 外媒:針對中國潛艇-2017/3/12
* 香港或就“裝甲車被扣”事件追責 起訴涉事運輸公司-2017/3/10
我們的在computed里的javascript代碼:我們用js原生方法給數組作了反轉
~~~
computed:{
reverseNews:function(){
return this.newsList.reverse();
}
}
~~~
~~~
<body>
<div id="app">
<ul>
<li v-for="item in reverseNews">
{{item.title}}---{{item.date}}
</li>
</ul>
</div>
</body>
<script type="text/javascript">
var newsList = [{
title: '香港或就“裝甲車被扣”事件追責 起訴涉事運輸公司',
date: '2017/3/10'
},
{
title: '日本第二大準航母服役 外媒:針對中國潛艇',
date: '2017/3/12'
},
{
title: '中國北方將有明顯雨雪降溫天氣 南方陰雨持續',
date: '2017/3/13'
},
{
title: '起底“最短命副市長”:不到40天落馬,全家被查',
date: '2017/3/23'
},
];
var app = new Vue({
el: '#app',
data: {
newsList: newsList,
},
computed: {
reverseNews: function () {
return this.newsList.reverse();
}
}
});
</script>
~~~
總結:computed 屬性是非常有用,在輸出數據前可以輕松的改變數據
- HTML
- 標簽
- 超鏈接
- 列表
- 表格和表單
- h5新增標簽
- 快捷方式
- 標簽包含
- CSS
- 選擇器
- 行內,塊元素,鏈接
- css三大特性
- 盒子模型
- 定位
- css可見性
- emment書寫
- 文本元素
- 外觀屬性
- 背景
- 浮動
- ps
- 用戶界面樣式
- 顯示和隱藏
- 過渡
- 2D,3D變形
- 動畫animation
- 伸縮布局(CSS3)
- BFC
- 優雅降級和漸進增強
- 3D旋轉
- 雙飛翼和圣杯
- JS基礎
- 輸出消息的幾種方式
- 數據類型
- Date對象
- Math對象
- Array對象
- 字符串常用方法
- 數據類型轉換
- 等號運算
- 代碼調試
- 數組
- 函數
- WebAPI
- webapi簡介
- 獲取頁面元素
- 事件
- 屬性操作
- 創建元素
- 節點操作
- 事件詳解
- BOM
- 位置相關屬性
- 拖拽彈窗
- 彈出層加遮罩
- ES6
- let和const
- 解構表達式變化
- 函數優化
- map和reduce
- nrm
- npm
- npm基礎
- package.json
- 淘寶鏡像
- webpack
- 介紹
- 多入口文件(Multiple entry files)
- Webpack CSS loader加載器
- webpack Image loader 加載圖片
- uglify-js壓縮打包JS
- webpack構建本地服務器
- vue內部指令
- v-if,v-show,v-for
- v-text,v-html
- v-on
- v-model
- v-bind
- v-pre,v-cloak,v-once
- vue全局api
- Vue.directive 自定義指令
- vue.extend構造器的延伸
- vue.set全局操作
- Vue的生命周期(鉤子函數)
- Template 制作模版
- Component 初識組件
- Component 組件props 屬性設置
- Component 父子組件關系
- Component 標簽
- vue選項
- propsData Option全局擴展數據傳遞
- computed Option 計算選項
- Methods Option 方法選項
- watch選項監控數據
- Mixins 混入選項操作
- Extends Option 擴展選項
- delimiters 選項
- vue實例和內置組件
- 實例屬性
- 實例方法
- 實例事件
- 內置組件 -slot
- vue-cli
- vue-cli介紹
- 項目目錄結構
- vue-cli模板
- vue-router
- 簡介
- 配置子路由
- 參數傳遞
- 單頁面多路由區域操作
- url傳遞參數
- vscode