Vladimir
Аа, я тоже просто )
Vladimir
Anonymous
Farid
Куда можно задать вопросы в общем по фронту?
Алексей
Сюда тоже можно я думаю
Farid
Задорный Копатыч
Мне нужна вот такая штука в модельке.
Задорный Копатыч
<tr>
<td><textarea></textarea></td>
<td><select><option value="0">0</option><option value="1">1</option></select></td>
</tr>
Задорный Копатыч
Естественно, их может быть n раз, управление должно быть и текстом и селектом. Селекты могут иметь разные наборы значений.
Anonymous
покажьіте что сделали
Задорный Копатыч
Да собственно ничего.
Задорный Копатыч
Я по туторам изучаю VUE. И вот столкнулся с непониманием подхода.
Как сделать для for такое вот перечисление tr-строк таблицы, в которых внутри есть свои элементы для модели
Alex
Добавляете v-for на <tr> и он нагенерирует разметки что будет внутри на массив данных
Alex
Вместо туторов для начала документацию на русском почитайте, там тоже множество простых примеров
Vladimir
Ребят, как во вью роутере редиректнуться назад ?
Alexey
Vladimir
спасибо)
Задорный Копатыч
У меня непонятки именно во встраивании доп.селектов и текстарей внутри фора
Bushrut
Anton
Всем привет. надо подскажите простенький плеер на vue? нужен виджет для прослушки записи разговоров
Bushrut
гайз как разбить массив для реализации пагинации ?
Alex
.filter
Albert
https://lodash.com/docs/4.17.4#chunk
Anonymous
Привет. Подскажите, я правильно понимаю, что во veux геттеры это аналог mapStateToProps?
Michael
и я))))
Michael
Аа, я тоже просто )
Uncle
Человеки! Новичков не сильно пинаете? :)
Как вы делаете проверку сессии, когда приложение загружается?
Наример: есть простая html страница с логином-паролем, проверяем через ajax запрос их правильность, создаём кукиш перенаправляем на приложение.
Rem1te
Uncle
Rem1te
а как правильно?
Да вот всякие токены понапридумывали, почитайте например за jwt
Uncle
Rafael 🌵
Rem1te
Rem1te
Rafael 🌵
Андрей
а что в vue нельзя сделать чтоб при нажатии одной и тойже ссылки был релоад как это было в первом ангуляре указывая reload: true ?
Rem1te
Rafael 🌵
Uncle
Uncle
Так вот как вы это делаете? :)
Anton
спасибо! Но всетаки как до рендеринга что-то сделать?
У меня бэк фласк, после аунтификации по аякс отдает jwt, у jwt стоит срок протухания, когда клиент делает действия связанные с работой сервера он в шапке отдает ключ, если сервер возвращает ошибку, роутер перенаправит на логин. Держать и там и там нет смысла, так как ключ будет иметь уже все данные плюс данные о сроке действия, можешь делать два ключа один рефреш один активационный. С помощью рефреш обновляешь способность активационного.
Uncle
Anton
простой пример
Anton
created: function(){
let data = localStorage.getItem('at');
console.log(null);
this.active = data !== null;
},
methods: {
get_toke (){
Vue.http.post('/login','{"username":"test","password":"test"}', {headers:{'X-CSRFToken':csr}}).then(response =>{
return response.json()
}).then(result=>{
localStorage.setItem('at',"Bearer "+ result['a_t']);
localStorage.setItem('rt',"Bearer "+ result['r_t']);
this.active = true
});
},
get_data (){
let data = localStorage.getItem('at');
if (data !== null) {
Vue.http.get('/protected',
{headers: {'Authorization': data}})
.then(response => {
return response.json()
})
.then(result => {
if (result['status'] === 401) {
this.active = false;
localStorage.removeItem('at');
return
}
this.mes = result['current_user']
})
}},
refresh (){
Vue.http.post('/refresh','', {headers:{'X-CSRFToken':csr, 'Authorization':localStorage.getItem('rt')}}).then(response =>{
return response.json()
}).then(result=>{
console.log(result);
if (result['status'] === 401) {
this.active = false;
localStorage.removeItem('at');
localStorage.removeItem('rt');
return
}
localStorage.setItem('at',"Bearer "+ result['a_t']);
this.active = true
}).catch(error => console.log(error));
Anton
На бэке у тебя должен быть мидлваре который будет проверять входящий jwt
Uncle
Alexey
created: function(){
let data = localStorage.getItem('at');
console.log(null);
this.active = data !== null;
},
methods: {
get_toke (){
Vue.http.post('/login','{"username":"test","password":"test"}', {headers:{'X-CSRFToken':csr}}).then(response =>{
return response.json()
}).then(result=>{
localStorage.setItem('at',"Bearer "+ result['a_t']);
localStorage.setItem('rt',"Bearer "+ result['r_t']);
this.active = true
});
},
get_data (){
let data = localStorage.getItem('at');
if (data !== null) {
Vue.http.get('/protected',
{headers: {'Authorization': data}})
.then(response => {
return response.json()
})
.then(result => {
if (result['status'] === 401) {
this.active = false;
localStorage.removeItem('at');
return
}
this.mes = result['current_user']
})
}},
refresh (){
Vue.http.post('/refresh','', {headers:{'X-CSRFToken':csr, 'Authorization':localStorage.getItem('rt')}}).then(response =>{
return response.json()
}).then(result=>{
console.log(result);
if (result['status'] === 401) {
this.active = false;
localStorage.removeItem('at');
localStorage.removeItem('rt');
return
}
localStorage.setItem('at',"Bearer "+ result['a_t']);
this.active = true
}).catch(error => console.log(error));
А еще не стоит так отправлять http-запросы
Alexey
Используйте axios
Alexey
там к тому же вам логику перевыпуска токена, если будете на REST (jwt, oauth2...) делать удобнее будет значительно
Alexey
с помощью интерцепторов
Alexey
ну и вообще есть мнение что не стоит в prototype вью пихать http-клиент
Alexey
это так, мимопроходил совет
Alexey
Почему же?)
Anton
Uncle
Почему же?)
Ну как почему: делать на jQuery - отцтой. Webpack - необходимость, ещё нужно вот библиотеку к библиотеке. А ещё: ты без Vuex сделал?! Ну ты ...
И т.д. чего я ещё не знаю :)
Alexey
Uncle
Alexey
А делать на jquery не отстой. Просто в случае большого приложения необходимость обновлять DOM вручную быстро превращает фронт в ад. Проще и удобнее иметь четкую модель данных, обновляя которую будет перерендериваться DOM
Alexey
А если проект крохотный
Alexey
И сложной логики в нем нет. То jquery - норм
Anton
угу. Легче не становится.
Совет, не пытайся весь фулстек технологии запихнуть к себе, сначала используй что-то, заверши проект, в новый проект интегрируй еще что-то, и т.д. Я бэкэндер, для меня фронт кажется еще менее привлекательным чем ты думаешь)
Uncle
Uncle
Павел
парни, подскажите. надо чтобы при изменении переменной хранилища в одном компоненте в другом выполнялось действие, как это сделать?
Alexey
Павел
дак вот не работает
Павел
у меня карта, мне надо чтобы маркеры перерисовывались, когда сокет получил данные
Павел
соответственно компонент с сокетами, карта и хранилище
Павел
leaflet
Павел
есть у кого идеи?
Алексей
Стейт карты запихнуть в стор, и следить за ним из двух компонентов
Victor
Смотря в каких отношениях у тебя эти компоненты
Павел
надо что-то типа того, что я описал :(
Павел