@vuejs_ru

Страница 3567 из 3900
Speed of
05.09.2018
09:16:22
ребят никто не понимает в чем косяк может быть?

Speed of
05.09.2018
09:16:49
почему от одного компонента на одной странице такие тупянки

Google
Speed of
05.09.2018
09:17:57
просто один в панели, а другой в центре страницы, а тот который в панели тупит

Mike
05.09.2018
09:18:17
просто в подключенном файлике .styl укажи попробуй
так все указано module.exports = { css: { loaderOptions: { stylus: { data: ` @import "@/sass/_variables.styl"; @import "@/sass/_functions.styl"; ` } } } }

Дмитрий
05.09.2018
09:18:21
? Хм pug = require('pug-loader!./component.pug') v-html="component({ attrs })"
я так понимаю ты хочешь в .vue файлах вместо template зарекваирить готовый .pug?

Artyom
05.09.2018
09:18:33
да да

И еще атрибуты туда преплести

Mike
05.09.2018
09:19:00
просто в подключенном файлике .styl укажи попробуй
sass просто папка в которой раньше лежали scss файлы, еще не переименовал, пути павильные

Дмитрий
05.09.2018
09:19:33
да да
по идее просто <template src="template.pug" lang="pug" />

Artyom
05.09.2018
09:20:00
по идее просто <template src="template.pug" lang="pug" />
Сейчас попробую... А атрибуты?

Дмитрий
05.09.2018
09:20:55
Сейчас попробую... А атрибуты?
не понимаю о каких аттрибутах речь идет

Artyom
05.09.2018
09:29:49
не понимаю о каких аттрибутах речь идет
a(class='ui-link' href={href} target={target}) #{content}

Дмитрий
05.09.2018
09:33:17
a(class='ui-link' href={href} target={target}) #{content}
Не могу ответить. vue-way это :href="href" ,т.е данные со вью приходят. А как с аттрибутами сделать, без понятия

Roman
05.09.2018
09:48:10
Ребята, использую миксин. После перехода на другуй страницу по роутер-линку, он как будто не подхватывается. Перезагружаешь страницу - все нормально, переходишь на вторую страницу - ошибка...

Google
Roman
05.09.2018
09:51:22
А, понял. При переходе на новую страницу продолжает выполняться функция со старой страници, а элемент, который она использует. уже не существует в DOM. А как её заставить перестать выполняться?

Roman
05.09.2018
09:51:57
Все, понял...

В destroyed?

Alex
05.09.2018
09:53:19
Это где?
в компоненте где навешиваешь

что бы до перехода снять обработчик

Roman
05.09.2018
09:53:38
В destroyed?

Alex
05.09.2018
09:54:18
before destroy

потому что в destroyed у тебя уже не будет элемента

https://vuejs.org/v2/guide/instance.html#Lifecycle-Diagram

Roman
05.09.2018
09:57:34
Спасибо, это понятно. Возможно, тупой вопрос, но как снять такой обработчик: methods: { scrollPage: function () { let context = this; window.addEventListener('scroll', function () { context.showElems(); }) }, }

Arkadiy
05.09.2018
09:57:52
сохранить ссылку на обработчик

Roman
05.09.2018
09:58:27
То есть?

Arkadiy
05.09.2018
09:59:25
this.handler = function () {} window.addEventListener('scroll', this.handler) window.removeEventListener('scroll', this.handler)

Alex
05.09.2018
10:00:38
handler = this.handler.bind(this) window.addEventListener(eventName, handler) window.removeEventListener(eventName, handler)

можно сразу сделать функцию для unsubscribe и вызвать ее потом

this.unsubscribe = () => window.removeEventListener(eventName, handler)

Roman
05.09.2018
10:02:09
К сожалению, ни разу такого не делал... Спасибо, надеюсь разберусь.

Google
Alex
05.09.2018
10:02:17
стоит выучить js тогда )

это базовая работа с ивентами

Roman
05.09.2018
10:02:29
Хорошая идея ?

Arkadiy
05.09.2018
10:02:29
ну не суть, главное сохранить обработчик, а в каком контексте он нужен - это зависит от программиста

Alex
05.09.2018
10:02:47
продолбают контекст и потом удивляются

Arkadiy
05.09.2018
10:03:43
ну ок, мб там уже есть контекст, а мы его взяли и переписали у обработчика на новый

Andrey
05.09.2018
10:03:47
Ребят, всем привет. Подскажите, vue-cli (или другая утилита) может таргетированно взять один файл .vue, и сделать из него бандл? Конкретно один компонент

Arkadiy
05.09.2018
10:03:59
для того чтобы не терять контекст - есть стрелочные функции

и они ок

обычные функции js нужны уже реже

Mike
05.09.2018
10:04:33
Структура та же
вот так работает: const path = require('path') module.exports = { css: { loaderOptions: { stylus: { import: [ path.resolve(__dirname, './src/sass/_variables.styl') ] } } } } но в доках vue cli 3 описан процесс только с sass. вы можете сказать есть подводные камни у этого способа?

Alex
05.09.2018
10:04:56
обычные функции js нужны уже реже
стрелочные функции это сахар

и некоторые внезапно пишут на es5

наличие сахара не освобождает от потребности понимать как это работает

а пихать везде стрелочные фукнции - это пиздец

зачем замыкание там где его не должно быть

Arkadiy
05.09.2018
10:06:11
чаще всего оно нужно чем нет

Arkadiy
05.09.2018
10:06:28
но спорить не буду

Google
Alex
05.09.2018
10:06:33
чаще всего оно нужно чем нет
ты забываешь сказать что это твое имхо и в твоем случае ;)

чаще всего надо избавиться от контекста

для оптимизации работы с gc

Arkadiy
05.09.2018
10:07:49
ок, хорошо. Расскажите в каких ситуациях оптимизации такого рода оправданы?

игры?

Alex
05.09.2018
10:08:06
во всех случаях

Admin
ERROR: S client not available

Alex
05.09.2018
10:08:35
не допущение переиспользования памяти и тем более ее утечки - это атрибут хорошего программиста

могу скинуть список литературы для развития

Arkadiy
05.09.2018
10:09:26
Хорошо, давайте, спасибо.

Yan
05.09.2018
10:09:35
Они чаще нужны чем нет

Да и пишутся короче

Alex
05.09.2018
10:09:50
Они чаще нужны чем нет
нет такой статистики

еще раз - не все используются babel

Yan
05.09.2018
10:10:13
Roman
05.09.2018
10:10:18
Алекс, а можно так: let context = this; window.removeEventListener('scroll', context.showElems) Так у меня все работало, а с байндом - ошибка...

Mike
05.09.2018
10:11:07
А какие у тебя мысли на тему подводных камней?
почему вам сложно сказать будет или нет? все такие опытные либо как вы? откуда я знаю, я еще проект не доделал, а он у меня первый, вот и опасения. опыта мало еще

Roman
05.09.2018
10:11:12
покажи как с байндом делал
scrollPage: function () { let showElems = this.showElems.bind(this) window.addEventListener('scroll', showElems) }, destroyScrollPage: function () { let showElems = this.showElems.bind(this) window.removeEventListener('scroll', showElems) }, }, mounted: function () { this.$nextTick(function () { this.showElems(); this.scrollPage(); }) }, beforeDestroy: function () { this.destroyScrollPage(); }

Google
Alex
05.09.2018
10:11:34
Arkadiy
05.09.2018
10:11:38
> showElems это props? скорее всего потер старый контекст.

Roman
05.09.2018
10:12:27
Ой, сори, метод

Alex
05.09.2018
10:12:30
Хорошо, давайте, спасибо.
https://www.labirint.ru/books/656404/ https://www.labirint.ru/books/632959/ https://www.labirint.ru/books/571060/ https://www.labirint.ru/books/643363/ https://www.labirint.ru/books/641481/ https://www.labirint.ru/books/634082/ https://www.labirint.ru/books/642466/

Yan
05.09.2018
10:12:35
Ух ес3

Roman
05.09.2018
10:13:33
Почему дважды?

Alex
05.09.2018
10:13:44
scrollPage: function () { let showElems = this.showElems.bind(this) window.addEventListener('scroll', showElems) }, destroyScrollPage: function () { let showElems = this.showElems.bind(this) window.removeEventListener('scroll', showElems)

Mike
05.09.2018
10:13:50
я не вижу проблем, но хочу учесть твое мнение, потому что твой свежий взгляд может что то подсказать
я тоже не вижу. я шарил по докам sass-loader и stylus-loader, и понял, что похожу data: @import... это специфика именно sass-loader.

Roman
05.09.2018
10:14:55
Arkadiy
05.09.2018
10:15:01
надо не забывать о ссылках в js

Alex
05.09.2018
10:15:08
scrollPage() { handler = this.showElems.bind(this) window.addEventListener('scroll', handler) this.unsubscribe = () => window.removeEventListener('scroll', handler) }, destroyScrollPage() { this.unsubscribe() }

Mike
05.09.2018
10:15:25
еще я видел style-resources-laoder https://cli.vuejs.org/ru/guide/css.html#%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5-%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82%D1%8B может его использовать, вместо loaderOptions? честно сказать я не совсем понял чем они отличаются, если не учесть, что loaderOptions как я понимаю указаные файлы до компиляции ипортирует а style-resources-laoder уже в каждый файл

Страница 3567 из 3900