vuejs изменение переменной из data

114
23 апреля 2019, 08:50

Не пойму почему при вызове console.log(this.imagePath) я получаю UNDEFINED, вместо "Hoho". Соответственно заменить переменную не получается вообще. Как правильно ее заменить?

data() {
        return {
            imagePath: 'Hoho',
        };
    },
    methods: {
        selectImage() {
            var lfm = function(options, cb) {
                var route_prefix = (options && options.prefix) ? options.prefix : '/laravel-filemanager';
                window.open(route_prefix + '?type=' + options.type || 'file', 'FileManager', 'width=900,height=600');
                window.SetUrl = cb;
            }
            lfm({type: 'image', prefix: ''}, function(url, path) {
                console.log(this.imagePath, path);
            });
        },
Answer 1
lfm({type: 'image', prefix: ''}, (url, path) => {
    this.imagePath = path;
});

Забавно, но замена function (url, path) на (url, path) => решило проблему... Но я не понимаю почему =)

READ ALSO
Как выбрать option в select

Как выбрать option в select

У меня есть код htmlКак мне выбрать data-id у option при клике? Мучаюсь два часа

140
Скачивание большого файла(>2mb) на клиенте?

Скачивание большого файла(>2mb) на клиенте?

Есть имя файла и файл в формате base64Если размер файла превышает 2mb, то браузер chrome говорит что имеется ошибка сети

126
Ошибки сценария в javascript NS_ERROR_FAILURE — как исправить?

Ошибки сценария в javascript NS_ERROR_FAILURE — как исправить?

Есть сайт на wordpress c установленным плагином для краудфайндинга

125
Удалить из HTML узел с нужным классом

Удалить из HTML узел с нужным классом

Как из куска HTML выцепить и удалить элемент с нужным классом price priceVariant? Предполагается что таких блоков <li>

114