
Illya
08.02.2017
17:48:09
ну вот он там не нужен

? ? ? Alex ? ? ?
08.02.2017
17:48:52
[v
хм
ну ща

Google

Kelin
08.02.2017
17:50:14
найс ник

? ? ? Alex ? ? ?
08.02.2017
17:51:01
решил
сам затупил
провтыкал хендлить Open
ебать я тупой.

Illya
08.02.2017
17:53:41
)

? ? ? Alex ? ? ?
08.02.2017
17:53:52
=)

Andrey
08.02.2017
17:53:55
ебать я тупой.
а вот эта фраза с ником сочетается изумительно =) не в обиду

? ? ? Alex ? ? ?
08.02.2017
17:54:03
ахахах та ник стеб же)
я не обижаюсь =)

Ilia
08.02.2017
17:55:27
Ребят. Кто там с D3 работал. А что за фетиш с данными в csv?
Или это просто доп фича?

? ? ? Alex ? ? ?
08.02.2017
18:01:16
как мне вытащить с компонента менее костыльно мой рут компонент?

Google

? ? ? Alex ? ? ?
08.02.2017
18:02:04
$vm0.$root.$children[0]
типа так сейчас делаю
но хз

Illya
08.02.2017
18:05:00
эмм
нафига?
(не задрачиваю, просто юзкейс проясняю)

? ? ? Alex ? ? ?
08.02.2017
18:05:43
я как бы хочу алерты кидать
со своих компонентов
а алерт у меня в руткомпоненте + уровень грубо говоря

Illya
08.02.2017
18:06:28
ну, извращенно можно это сдлелать c $emit
хотя это так себе паттерн

? ? ? Alex ? ? ?
08.02.2017
18:06:47
так че как лучше будет?
vuex коннектить для простой админки с крудиком как то не вариант

Illya
08.02.2017
18:06:59
я бы лучше накидал бы простенький pubsub сервис который бы все кому надо подключали, а рутовый компонент на него подписывался
это если vuex тащить неохота
хотя если нужно просто выводить нотифаи без всякого отслеживания то можно их не на vue выводить )

? ? ? Alex ? ? ?
08.02.2017
18:07:28

Illya
08.02.2017
18:07:28
у меня они (о ужас) прям jquery рисуются

? ? ? Alex ? ? ?
08.02.2017
18:07:29
ну смотри

Illya
08.02.2017
18:07:37
нет, не через эмиты.

Google

? ? ? Alex ? ? ?
08.02.2017
18:07:46
у меня нотификации вкинуть например там ошибка какая то
т.е даже при респонсах вдруг что
вот так хотелось бы
мой говнокод отрабатывает через раз сейчас =(

Illya
08.02.2017
18:15:44
ну я не заморачиваюсь
https://gist.github.com/xanf/da5cc93e9d9dbdf37d3df45273dbe749

? ? ? Alex ? ? ?
08.02.2017
18:21:45
хм
так мб запихнуть просто в функцию
и вызывтаь оттуда
чтоб не мутить с чилдами и тд
спс

Влад
08.02.2017
18:23:23

Illya
08.02.2017
18:23:30
да

Влад
08.02.2017
18:23:32
Видел на докладе по вью

Сергей
08.02.2017
18:24:05
Интересная лекция была, спасибо

Влад
08.02.2017
18:24:23
Я еще не досмотрел, но лекция супер

? ? ? Alex ? ? ?
08.02.2017
18:31:57
В общем сделал вот так
const app = new Vue({
router,
el: '#app',
template: '<App/>',
components: { App }
})
Vue.prototype.$notify = function notify({title,content,delay = 5000}) {
app.$children[0].AlertManager.title = title;
app.$children[0].AlertManager.content = content;
app.$children[0].AlertManager.show = true;
app.$children[0].$children[2].show();
app.$children[0].$children[2].hide(delay);
}
но фича в том
что отрабатывает только на второй раз :D

Google

Illya
08.02.2017
18:32:51
ой-ой-ой
не делай так

? ? ? Alex ? ? ?
08.02.2017
18:33:24
чего ?:(
удобно же
вроде

Illya
08.02.2017
18:36:15
расширять чужие прототипы - фу-фу-фу

? ? ? Alex ? ? ?
08.02.2017
18:38:52
ой та ладно
блин
короче
работает на 2й раз

Admin
ERROR: S client not available

? ? ? Alex ? ? ?
08.02.2017
18:39:21
из за того что не перерисовывает его
компонент
Vue.prototype.$notify = function notify({title,content,delay = 5000}) {
Vue.set(app.$children[0].AlertManager,'title',title);
Vue.set(app.$children[0].AlertManager,'content',content);
Vue.set(app.$children[0].AlertManager,'show',true);
app.$children[0].$children[2].show();
app.$children[0].$children[2].hide(delay);
}
сделал вот так

Illya
08.02.2017
18:40:11
по поводу та ладно. Вот потом смотрят на этот код и непонятно откуда взялся $notify

? ? ? Alex ? ? ?
08.02.2017
18:40:20
он в мейне лежит

Illya
08.02.2017
18:40:24
и главное так просто это не отследишь

? ? ? Alex ? ? ?
08.02.2017
18:40:25
врядли там смотреть будут

Illya
08.02.2017
18:40:31
это не аргумент :)

Google

? ? ? Alex ? ? ?
08.02.2017
18:40:41
нету времени на эти демагогии . сейчас надо сделать чтоб работало
а дальше увидим

Illya
08.02.2017
18:40:48
)

? ? ? Alex ? ? ?
08.02.2017
18:40:52
подскажи как перерисовать компонент то =)

Illya
08.02.2017
18:41:20
у AlertManager'а по умолчанию есть title, content, show?

? ? ? Alex ? ? ?
08.02.2017
18:41:27
null ' ы
а show = false

Illya
08.02.2017
18:41:39
тогда по идее тебе Vue.set не нужен

? ? ? Alex ? ? ?
08.02.2017
18:41:39
data : () => ({
AlertManager : {
show : false,
title : null,
content : null,
}
}),

Illya
08.02.2017
18:41:45
и ты как раз вызовешь перерисовку


? ? ? Alex ? ? ?
08.02.2017
18:42:12
но оно не отрабатывает с 1 раза)
а только на 2й
<div v-if="AlertManager.show">
<Alert :active = "AlertManager.show" :title="AlertManager.title" :content="AlertManager.content" />
</div>
актив убрать можно но то потом чутку
`Uncaught TypeError: Cannot read property 'show' of undefined
at VueComponent.notify [as $notify] (eval at <anonymous> (http://localhost:8080/app.js:894:2), <anonymous>:94:32)
at VueComponent.onDelete (eval at <anonymous> (http://localhost:8080/app.js:858:2), <anonymous>:24:18)
at boundFn (eval at <anonymous> (http://localhost:8080/app.js:612:2), <anonymous>:126:14)
at Proxy.invoker (eval at <anonymous> (http://localhost:8080/app.js:612:2), <anonymous>:1944:12)
at Proxy.Vue.$emit (eval at <anonymous> (http://localhost:8080/app.js:612:2), <anonymous>:2545:16)
at Proxy.e.(anonymous function) (chrome-extension://nhdogjmejiglipccpnnnanhbledajbpd/build/backend.js:1:6235)
at click (eval at <anonymous> (http://localhost:8080/app.js:1248:2), <anonymous>:11:1570)
at HTMLButtonElement.invoker (eval at <anonymous> (http://localhost:8080/app.js:612:2), <anonymous>:1944:12)`
сама ошибка


Illya
08.02.2017
18:45:28
children[2] еще нет )
он же наверное в v-if :)

? ? ? Alex ? ? ?
08.02.2017
18:45:38
вот именно
да
я показал выше
как решить это?

Illya
08.02.2017
18:45:46
Vue.nextTick )