Vue
by kabanoki
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue2-filters.min.js"></script>
<div id="app">
<div class="box">
<input type="text" v-model="msg">
<h2>capitalize</h2>
<p>
変換後:{{ msg | capitalize }}
</p>
<h2>uppercase</h2>
<p>
変換後:{{ msg | uppercase }}
</p>
<h2>lowercase</h2>
<p>
変換後:{{ msg | lowercase }}
</p>
<h2>placeholder</h2>
<p>
変換後:{{ '' | placeholder('Text if msg is missing') }}
</p>
<h2>truncate</h2>
<p>
変換後:{{ msg | truncate(10) }}
</p>
</div>
<div class="box">
<input type="number" v-model="amount">
<h2>currency</h2>
<p>
変換後:{{ amount | currency }}
</p>
</div>
<div class="box">
<div class="box2">
<h2>ordinal</h2>
<p>
<ul>
<li v-for="c in mixNum">変換後:{{ c }}{{ c | ordinal }} </li>
</ul>
</p>
<h2>limitBy</h2>
<p>
<ul>
<li v-for="item in limitBy(arr, 2)">変換後:{{ item }}</li>
</ul>
</p>
<h2>filterBy</h2>
<p>
<ul>
<li v-for="item in filterBy(mixNum, 1)">変換後:{{ item }}</li>
</ul>
</p>
<h2>find</h2>
<p>
<ul>
<li v-for="item in find(mixNum, 1)">変換後:{{ item }}</li>
</ul>
</p>
<h2>orderBy</h2>
<p>
<ul>
<li v-for="item in orderBy(mixObj, 'no')">変換後:{{ item }}</li>
</ul>
</p>
</div>
<div class="box2">
<pre>{{mixNum}}</pre>
<pre>{{mixObj}}</pre>
</div>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.10/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue2-filters.min.js"></script>
CSS
#app {
background: #fff;
border-radius: 4px;
padding: 20px;
transition: all 0.2s;
}
li {
margin: 8px 0;
}
h2 {
font-weight: bold;
margin-bottom: 15px;
margin-top: 25px;
}
pre {
border: 1px solid #dcdcdc;
padding: 10px;
}
.box {
float:left;
width:30%;
min-width: 240px;
}
.box2 {
float:left;
width:45%;
}
Vue
const Vue2Filters = window.Vue2Filters;
let app = new Vue({
el: '#app',
mixins: [Vue2Filters.mixin],
data: {
msg: 'lorem ipsum dolor',
amount : 12345,
arr: ['item1','item2','item3','item4',],
mixNum: [1,5,10,2,3,4,6],
mixObj: [
{no:1, text:'item1'},
{no:5, text:'item5'},
{no:4, text:'item4'},
{no:10, text:'item10'},
{no:3, text:'item3'},
{no:2, text:'item2'}
],
}
});