lightbrlnger
еще импорт один забыла. вначале будет
import Component from 'vue-class-component';
Kirill
https://vuejs.org/v2/examples/
Kirill
смотри в примерах как маунтиться
Kirill
я как понял в html у тебя нет такого элемента, он у тебя в темплейте другого
lightbrlnger
да
Anton
var tabler = new Vue({
el: '#cool-table',
data: {
columns: [],
rows: []
},
created () {
axios.get('json.json').then(function (response) {
this.columns = response.data.columns;
this.rows = response.data.rows;
});
}
});
Anton
привет, как сделать this в запросе tabler'ом?
Сергей
чет не могу врубиться как сделать так?
this.level.image.push(item) в цикле
Сергей
Может кто поможет сделать иначе
selectedFile (event) {
let input = event.target.files;
let array = [];
if (input && input[0]) {
for(let i = 0; input[i]; i++) {
let reader = new FileReader();
reader.onload = function (e) {
array.push(e.target.result);
}
reader.readAsDataURL(input[i]);
}
this.level.image = array;
}
},
Armen
Андрей
Armen
Сергей
Ребят подскажите)
Сергей
t.me/vuejs_ru/221759
Сергей
Нужно избавится от промежуточного массива array и сразу записывать в level.image
Сергей
Может кто поможет сделать иначе
selectedFile (event) {
let input = event.target.files;
let array = [];
if (input && input[0]) {
for(let i = 0; input[i]; i++) {
let reader = new FileReader();
reader.onload = function (e) {
array.push(e.target.result);
}
reader.readAsDataURL(input[i]);
}
this.level.image = array;
}
},
Armen
selectedFile(event) {
let input = event.target.files;
this.level.image = [];
if (input && input[0]) {
for (let i = 0; input[i]; i++) {
let reader = new FileReader();
reader.onload = (e) => {
this.level.image.push(e.target.result);
};
reader.readAsDataURL(input[i]);
}
}
}
Сергей
Armen
Потому что ты использовал function
Armen
А надо стрелочную
Armen
http://learn.javascript.ru/es-function#%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8-%D1%87%D0%B5%D1%80%D0%B5%D0%B7
Armen
Хотя нет, на самом деле я маг
Сергей
selectedFile (event) {
let input = event.target.files;
this.level.image = [];
if (input && input[0]) {
for(let i = 0; input[i]; i++) {
let reader = new FileReader();
let vm = this;
reader.onload = (e) => {
vm.level.image.push(e.target.result);
}
reader.readAsDataURL(input[i]);
}
}
},
Сергей
вот так делал
Сергей
только function
Armen
хзхз, вроде должно проканать
Сергей
Сергей
Плюсанул бы тебе)
Armen
function() {...}.bind(this)
Anton
function() {...}.bind(this)
то есть раньше нельзя было делать несколько функций в функциях, чтобы у самой глубокой был контекст самой первой?
Armen
Можно, но надо было привязывать контекст
Сергей
var $this = this; и юзаешь внутри
Armen
Можно и так, но бинд лучше
Сергей
Ну это самый дедовский метод кто не знал о биндинге)
Armen
var $this = this; и юзаешь внутри
Так надо делать, когда функция должна принять какой-то значимый другой контекст, например, когда вешаешь обработчик на событие в jQuery то в обработчике this - это элемент, на котором произошло событие
Сергей
Armen
Но во vue это не грозит скорее всего
Armen
Я не делал такого уже около года
Stanislav
Сергей
Vadim
Еще есть apply и call
Armen
Год как соскочил с jquery?😂
Нет, пол года, но до этого я только стрелочными пользовался, а ситуаций, где понадобилось бы сохранить и текущий и передаваемый контекст не было
Александр
Какой удобный JS http client использовать для restful api?
Armen
axios
Armen
ЮЗАЙ AXIOS
Tair
господа, помогите с роутером! почему находясь на /login я могу перейти на /home, но не могу перейти на / посредством this.$router.push(..)?
Александр
Интересует также корректная обработка кодов возврата.
Anton
Armen
ДАЖЕ НЕ ДУМАЙ О VUE-RESOURSE
Armen
Armen
Ошибки в консоли?
Tair
Armen
Ты уверен, что метод, где находится эта строка, выполняется?
Tair
Armen
Режим ванги | off
Tair
подставляю / -- ничего не происходит
Armen
Странно(
Tair
у меня nuxt если это имеет значение
Armen
Ну у меня тоже, но это работает
Armen
Нужно больше кода
Tair
Нужно больше кода
async formLogin() {
try {
await this.login({
username: this.formUsername,
password: this.formPassword
})
this.formUsername = ''
this.formPassword = ''
this.formError = null
this.$router.push('/')
} catch (e) {
this.formError = e.message
}
}
Armen
Т.е. если ты тут ставишь push('/home') то работает?
Tair
lightbrlnger
почему push, а не replace?
Tair
хмм.. стоп, мой косяк
Tair
сорри
Armen
А шо было
Tair
в index.vue это:
fetch ({ store, redirect }) {
if (!store.state.auth) redirect(302, '/login')
}
Armen
А лол))
Tair
А лол))
this.login(...) по идее должен заполнить auth
Tair
будем дебажить
Armen
Ну это уже другая проблема)