Max
Armen
akasybe
вот тут допустим есть сервис и метод CommentsService.get(), внутри него делаешь запрос к апи, получаешь данные, трансформируешь к нужному виду и возвращаешь из метода
akasybe
изолируйте бизнес-логику от vuex в сервисах
akasybe
а лучше начните тесты писать, тогда сразу станет видно, где неправильно написано, потому что будет не протестировать)))
xored
Подскажите какой сейчас UI kit для Vue лучше использовать. Я начал смотреть Keen UI, но он сложно и плохо кастомизируется на мой взгляд. Стоит смотреть Element ?
Сын маминой подруги
xored
xored
Roman
akasybe
Armen
Armen
akasybe
семантики уже пятый год не могут дэйтпикер сделать)
Armen
Alexander
Armen
Kirill
Что за неофициальный дейтпикер, можно ссылочку, пожалуйста?
Armen
Ща
Armen
https://github.com/mdehoog/Semantic-UI-Calendar
akasybe
просто если дэйтпикер неофициальный, то нужно будет искать или пилить интеграцию этого календаря с vue
akasybe
а для прототипа это уже как-то не айс
akasybe
но вообще семантик очень симпатичный
Armen
Roman
и роутинг офиегенный
Roman
суперский фреймворк
Roman
только вот три утра)
Roman
а звтра на работу
Armen
А 18 минут назад было 2 утра....
Roman
const windowsApp = new Vue({
el: '#windows',
data: {
windows: {},
newUrl: ''
},
methods: {
addWindow: function() {
if (this.newUrl.length < 1)
return false;
this.windows[new Date().getTime().toString()] = {
url: this.newUrl,
invisible: false
};
this.newUrl = '';
},
removeWindow: function(id) {
this.$delete(this.windows, id);
},
saveWindows: function() {
ipcRenderer.sendSync('updateWindows', this.windows);
},
closeWindows: function() {
ipcRenderer.sendSync('closeWindows');
}
}
});
windowsApp.windows = ipcRenderer.sendSync('listWindows');
как такой апп переделать под компонент?
Roman
через жопу совсем?
akasybe
Нет
Roman
я предполагаю что да :(
akasybe
Что смущает
akasybe
Тут же обычный CRUD
Roman
методы
Roman
Roman
могу я просто сделать это компонентом, ничего в него не передавая?
Roman
или это плохая идея?
akasybe
Не передавая чего?
Roman
windowsApp.windows = ipcRenderer.sendSync('listWindows');
Roman
получать в нём прямо
akasybe
Да
Roman
стоит юзать vue-router для реализации вкладок?
или можно из примера:
https://ru.vuejs.org/v2/guide/routing.html
akasybe
mounted() {
this.windows = ipcRenderer.sendSync('listWindows');
}
Roman
Roman
рано?
akasybe
я бы не стал делать
Roman
или в дата 1 раз только?
Roman
а тут при каждом маунте
Roman
да?
akasybe
mounted() вызывается когда компонент попадает в DOM вроде
akasybe
в любом случае хоть ты в дата помести там тоже будет вызываться метод получения окон
akasybe
если компонент заново монтируется
akasybe
кстати еще обрати внимание что data - должен быть объектом только если это data в руте
akasybe
в компоненте data должна быть функцией
Roman
akasybe
https://ru.vuejs.org/v2/guide/components.html#%D0%9E%D0%BF%D1%86%D0%B8%D1%8F-data-%D0%B4%D0%BE%D0%BB%D0%B6%D0%BD%D0%B0-%D0%B1%D1%8B%D1%82%D1%8C-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B5%D0%B9
Roman
ок спс
Armen
Кто-нить шарит почему в геттеры всё проброшенно через параметры, вместо одного объекта?
akasybe
покажи код
Armen
Да нет кода
Вот если пилишь геттер, то параметры это:
1. Стейт модуля
2. Геттеры модуля
3. Рут стейт
4. Рут геттеры
Armen
Т.е. если мне в геттере надо только стейт модуля и геттер из рута - приходится писать ещё два лишних параметра
Roman
покажи код
спасибо большое, компонент идеально заработал
akasybe
akasybe
ты же можешь их не писать?
Armen
А как?
akasybe
getters: {
sumWithRootCount (state) {
return state.count
}
}
Armen
getters: {
someGetter(state, getters, rootState, rootGetters) {
//do something with state and rootGetters
}
}
Roman
а как можно из коробки подключать однофайловые компоненты без вебпака никак?
akasybe
никак вроде
Super
Привет народ есть вот такая вот проблемма если вдруг кто поможет буду сильно благодарен
есть ли способ использовать computed свойтва в data
data () {
return {
value: this.$props.paid ? 32767 : 0,
h: 2,
options: {
tooltip: false,
height: 25,
max: this.max_amount,
speed: 0.1,
interval: this.$props.paid ? 1 : 0.1,
sliderStyle: {
'position': 'relative',
'top': '-2px',
'left': '-7px',
'width': '30px',
'height': '30px',
'background-color': '#d7a472'
},
bgStyle: {
"background-color": "#fff"
},
processStyle: {
"background-color": "#d08c49"
}
}
}
},
Вот допустим у меня есть попап и он передает при нажатии кнопки в store заносит определенное значение которое я потом передаю через props но так как компонент уже зарендерен то в обьекте дата невозможно обновить свойство
использовать функцию перерендера не получиться потому что попросту негде ее вызвать (компонент не подразумевает каких либо кнопок)
так вот я не совсем понимаю как мне обновить переменную в data при клике в другом компоненте не родительском
Armen
Ну дак просто делай computed, а не data
Armen
Или если хочется оставить в data то повесь вотчеры на нужные пропсы и меняй данные в data