type tester という簡易的なフォント(関連のスタイリング)のテスターツールを Vue.js で作ってみる。 その6
GitHub Pages: https://yuheijotaki.github.io/type-tester/
GitHub リポジトリ:https://github.com/yuheijotaki/type-tester
<input type="color">
のバインディングこれも v-model=""
でバインディングが可能
input-color.vue
(一部簡略化)
<template> <div> Color: <input type="color" v-model="color" @input="updateValue" @focus="$emit('focus', $event)" @blur="$emit('blur', $event)" > <input type="text" v-model="color" @input="updateValue" @focus="$emit('focus', $event)" @blur="$emit('blur', $event)" > </div> </template> <script> export default { name: 'inputColor', data() { return { color: '#000000' } }, methods: { updateValue(e) { this.$emit('input', e.target.value) this.$emit('change', e.target.value) } } } </script>
<input type="color">
と <input type="text">
を双方向にバインディングする場合は #000
など短縮カラーコードではなく #000000
など6桁で入力されていないと color側が バインディング(同期)がされない。HTML側の仕様といえば仕様なのですが、
を余裕あったら実装したい