data: () => ({
values: [ 0, 14235534, 53423, -9678953, 3451, 5323467445, -123456 ],
}),
filters: {
format1: val => `${val}`.replace(/\d(?=(\d{3})+$)/g, '$& '),
},
methods: {
format2: val => val.toLocaleString('ru-RU'),
},
computed: {
formatted() {
return this.values.map(n => {
const sign = Math.sign(n) === -1;
const arr = [...String(Math.abs(n))].reverse();
return (sign ? '-' : '') + Array.from(
{ length: Math.ceil(arr.length / 3) },
(n, i) => arr.slice(i * 3, (i + 1) * 3).reverse().join('')
).reverse().join(' ');
});
},
},
<div>
<div v-for="n in values">{{ n | format1 }}</div>
</div>
<div>
<div v-for="n in values">{{ format2(n) }}</div>
</div>
<pre>{{ formatted }}</pre>
desktop - news__post - wrapper
и m - t_1
, о чем он с примерно 99% вероятностью ругается в консоли. Добавь кавычки, чтобы были строки с названием класса. А вообще в твоем случае можно использовать совместно class="тут классы, применяемые всегда" :class="тут динамическая часть"
export default {
data() {
return {
dateNow: new Date(),
timerId: null
};
},
mounted() {
this.timerId = setInterval(() => {
this.dateNow = new Date();
}, 1000);
},
beforeUnmount() {
clearInterval(this.timerId);
}
};
import {ref, onUnmounted} from "vue";
const dateNow = ref(new Date());
const timerId = setInterval(() => {
dateNow.value = new Date();
}, 1000);
onUnmounted(() => {
clearInterval(timerId);
});
<tr v-for="(item, index) in $store.state.items">
console.log(this.$store.state.items[index])
data(){ return{ Item: { ...
v-model="item.name"
ADD_TO_PRODUCTS({commit}, item){ commit('SET_PRODUCT_TO_STATE', item) },
methods:{ ...mapActions([ 'ADD_TO_PRODUCTS', ]),
@click="ADD_TO_PRODUCTS"