将Vue0.1里的过滤代码添加到Vue2.0,方法很简单,具体内容如下
- Stringify value.
- @param {Number} indent
*/
json: {
read: function read(value,indent) {
return typeof value === 'string' ? value : JSON.stringify(value,null,Number(indent) || 2);
},write: function write(value) {
try {
return JSON.parse(value);
} catch (e) {
return value;
}
}
},/**
- 'abc' => 'Abc'
*/
capitalize: function capitalize(value) {
if (!value && value !== 0) return '';
value = value.toString();
return value.charAt(0).toUpperCase() + value.slice(1);
},/**
- 'abc' => 'ABC'
*/
uppercase: function uppercase(value) {
return value || value === 0 ? value.toString().toUpperCase() : '';
},/**
- 'AbC' => 'abc'
*/
lowercase: function lowercase(value) {
return value || value === 0 ? value.toString().toLowerCase() : '';
},/**
- 12345 => $12,345.00
- @param {String} sign
*/
currency: function currency(value,_currency) {
value = parseFloat(value);
if (!isFinite(value) || !value && value !== 0) return '';
_currency = _currency != null ? _currency : '$';
var stringified = Math.abs(value).toFixed(2);
var _int = stringified.slice(0,-3);
var i = _int.length % 3;
var head = i > 0 ? _int.slice(0,i) + (_int.length > 3 ? ',' : '') : '';
var _float = stringified.slice(-3);
var sign = value < 0 ? '-' : '';
return sign + _currency + head + _int.slice(i).replace(digitsRE,'$1,') + _float;
},/**
- 'item' => 'items'
- @params
- an array of strings corresponding to
- the single,double,triple ... forms of the word to
- be pluralized. When the number to be pluralized
- exceeds the length of the args,it will use the last
- entry in the array.
- e.g. ['single','double','triple','multiple']
*/
pluralize: function pluralize(value) {
var args = toArray(arguments,1);
return args.length > 1 ? args[value % 10 - 1] || args[args.length - 1] : args[0] + (value === 1 ? '' : 's');
},/**
- Debounce a handler function.
- @param {Function} handler
- @param {Number} delay = 300
- @return {Function}
*/
debounce: function debounce(handler,delay) {
if (!handler) return;
if (!delay) {
delay = 300;
}
return _debounce(handler,delay);
}
};