Como colocar um valor do objeto de dados em outro objeto de dados vueJS
Aqui está o meu código:
data () {
return {
msg: '',
rgbValue: '',
newColor: {
color: this.msg
}
}
}
Este código não funciona. Eu gostaria de colocar o valor demsg
no meu objetonewColor
. Alguém tem uma solução?
Aqui está um complemento de código:
data () {
let msg = '';
return {
msg: msg,
rgbValue: '',
newColor: {
color: msg
}
}
},
components: {
HeaderComponent: require('./HeaderComponent.vue')
},
methods: {
msgFunc: function () {
colorsRef.push(this.newColor);
const app = document.querySelector('#app');
const rgbValueContainer = document.querySelector('.rgb-value');
if (this.msg[0] !== '#') {
this.msg = '#'
}
app.style.backgroundColor = this.msg
function convert(hex) {
hex = hex.replace('#', '');
const r = parseInt(hex.length == 3 ? hex.slice(0, 1).repeat(2) : hex.slice(0, 2), 16);
const g = parseInt(hex.length == 3 ? hex.slice(1, 2).repeat(2) : hex.slice(2, 4), 16);
const b = parseInt(hex.length == 3 ? hex.slice(2, 3).repeat(2) : hex.slice(4, 6), 16);
return 'rgb(' + r + ', ' + g + ', ' + b + ')';
}
this.rgbValue = convert(this.msg)
rgbValueContainer.style.opacity = '1'
this.msg = '#'
}
<section class="input-container">
<label for="inputLabel">Type your HEX color | Click & Press enter</label>
<input type="text" id="inputLabel" v-model="msg" @change="msgFunc" @click="sharpStr">
</section>
Você pode ver logo após msgFunc, o envio no meu banco de dados e o problema está aqui, ele envia um objeto corretamente, mas ele não atualiza o valor da cor