
Rafael
05.02.2017
10:05:39
на да хрен сним, я в beforeDestroy поместил и норм
но да, надо будет разобраться потом, что и почему

Stanislav
05.02.2017
10:07:25
я бы задумался... Вдруг где-то ошибку сделал.

Misha
05.02.2017
10:09:24
Не поможете? Есть сервер на express.js, посылаю через fetch запросы на api, всё нормально, но когда хочу загрузить инвентарь человека и делаю на серверной часте запрос на апи другого сервиса, в консоли вылазит ошибка. Response.stauts равняется нулю, если зайду на /api/getMyInventory, ошибок нет, а потом обратно, то всё загружается

Google

Kelin
05.02.2017
10:12:19
А в чем прикол, beforeCreate срабатывает раньше, чем routerBeforeEach??
Надо бы Lifecycle Diagram дополнить хуками роутера

Stanislav
05.02.2017
10:16:45
beforeCreate - хук компонета?
на сайт русского перевода еще не влили beforeRouteUpdate :\

Юрий
05.02.2017
10:19:58
Привет всем,есть тут кто из Одессы?

Yaroslav
05.02.2017
11:22:26
Народ, вопрос, скорее всего, стандартный из серии передать пропсы в компоненты. Прошу пардону, три дня как разбираюсь в vue.
Собственно три файла, в майне я подключаю компоненту footer.vue и передаю пропс:
import Footer from './view/footer.vue'
new Vue({
data: {
ver : version,
},
props: ['textVersion'],
components:{
'app-footer' : Footer
},
router
}).$mount('#app');
В index.html, я пропс передаю в компоненту:
<app-footer :text-version="ver"></app-footer>
В footer.vue принимаю пропс:
<span id="foot__version">{{ textVersion }}}</span>
Ошибка: Property or method "textVersion" is not defined on the instance but referenced during render.
Помогите разобраться чо делаю не так...

Stanislav
05.02.2017
11:26:47
Yaroslav покажи footer полностью

Andrey
05.02.2017
11:26:55
props: ['textVersion']
нужноуказать не в app, а в
footer.vue

Stanislav
05.02.2017
11:26:55
ты свойство props прописал?
@gmtyllo ух-ты, вот это ты внимательный

Misha
05.02.2017
11:27:40
Помогите, как после v-for сгенерированного поменять значения, что бы они отобразились на странице. А то после рендера не могу поменять, ничего не происходит

Andrey
05.02.2017
11:28:26
как меняешь то?

Yaroslav
05.02.2017
11:28:47
Понял, в footer у меня просто template
<template>
<footer class="footer">
<span id="foot__version">{{ textVersion }}</span>
</footer>
</template>

Google

Misha
05.02.2017
11:28:49
this.items = data.items

Yaroslav
05.02.2017
11:29:35
А в app тогда ничего не указывать??

Andrey
05.02.2017
11:30:28
В App у тебя уже в data указано. А свойство prop - эт для свойств от родителя

Yaroslav
05.02.2017
11:32:07
Всё, политело. Гранд сенкЪю. Левым глазом читаю мануал, видать..
Ну и коль пошла такая пьянка... вопрос из семантики. Концепция vue такая что наверх компонентам летят пропсы, а вниз спускаются методы.
Класический вариант. Есть хедер в нем форма с импутом для поиска. Есть острое желание прям из компоненты, гетом посылать запрос и результат парсить в ссылки роутера.
Но православненько ли это с точки зрения семантики?
Или перенаправлять данные с импута через this.$emit в app

Dmitrii
05.02.2017
11:39:12
как добавить условие сюда:
v-if="comment.bid_id == sc.id && comment.sity == fltr.sity"
если fltr.sity == '' то comment.sity == fltr.sity пропустить

Michael
05.02.2017
11:45:37

Dmitrii
05.02.2017
11:48:33
пытаюсь что то типа
v-if="comment.bid_id == sc.id && fltr.sity != '':comment.sity == fltr.sity"

Andrey
05.02.2017
12:00:31

Dmitrii
05.02.2017
12:01:39
вот так что ли
режет, мне надо сначало сделать что бы работало

Andrey
05.02.2017
12:02:35
зачем двоеточие?

Dmitrii
05.02.2017
12:02:37
а потом поправлю

Andrey
05.02.2017
12:03:56
покажи ссылку

Dmitrii
05.02.2017
12:04:55
https://ru.vuejs.org/v2/guide/class-and-style.html#Использование-объектов

Kelin
05.02.2017
12:05:32
Я не понимаю, в чем прикол
У меня в инстансе async beforeCreate, который делает запрос к серверу авторизован/нет и помещает во Vuex true/false
В routeBeforeEnter у меня чекается из vuex, авторизован или нет, но какого-то хрена всегда не авторизован
Точнее, при загрузке всегда не авторизован, а если перейти на другую страницу, то срабатывает

Andrey
05.02.2017
12:07:50

Google

Dmitrii
05.02.2017
12:08:26
если fltr.sity не равен '' то comment.sity == fltr.sity

Andrey
05.02.2017
12:09:16
если fltr.sity == '' то comment.sity == fltr.sity пропустить
это о чем? пропустит - что означает?
Все равно не понимаю что тебе нужно от условия. опиши как в школе делали
не мучай шаблон, вынеси в methods
<a v-for="comment in comments" v-if="canView(comment)">
methods: {
canView(comment) {
if (this.fltr.sity === '') return false
return comment.bid_id == this.sc.id && comment.sity == this.fltr.sity
}
}

Dmitrii
05.02.2017
12:19:15
<select v-model="fltr.city" class="form-control">
<option></option>
<option value='1'>1</option>
<option value='2'>2</option>....
теперь надо фильтровать комментарии по городу
<a v-for="comment in comments" v-if="comment.bid_id == sc.id && comment.city == fltr.city"
вот только если фильтр по городу не выбран то показывать все
а получаектся что если фильтр не выбран то не покажет ничего

Andrey
05.02.2017
12:22:49
вроде даже в доке написано. Не городи такие условия. сделай computed проперти, возвращающий отфильтрованные города

Dmitrii
05.02.2017
12:23:53
дай ссылку

Andrey
05.02.2017
12:24:41
Но теперь логику понял. условие v-if="!ltr.city || ... тут все твое необычное условие"
https://vuejs.org/v2/guide/list.html#Displaying-Filtered-Sorted-Results

tufedtm
05.02.2017
12:32:05

Kelin
05.02.2017
12:32:20
В том и прикол, что не успевает

Roma
05.02.2017
12:33:13

Dmitrii
05.02.2017
12:40:43

Alex
05.02.2017
13:00:29
люди, а у кого-то извлечение sass css (с lang="sass") из *.vue работает? собираю webpack2

Timur
05.02.2017
13:02:40
Конфиг запостить?

Alex
05.02.2017
13:03:18

Google

Timur
05.02.2017
13:03:39
const frontendConfig = {
name: 'scnetw-frontend',
target: 'web',
entry: [
path.join(__dirname, 'frontend', 'styles', 'main.scss'),
'bootstrap-loader',
path.join(__dirname, 'frontend', 'main.js'),
],
output: {
path: path.join(__dirname, 'frontend', 'public', 'build'),
filename: 'bundle.js',
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.common.js',
},
},
devtool: 'source-map',
module: {
loaders: [
{
test: /.js$/,
loader: 'babel-loader',
exclude: /node_modules/,
},
{
test: /\.vue$/,
loader: 'vue-loader',
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract(['css-loader', 'sass-loader']),
},
{
test: /\.(jpg|jpeg|png|gif|woff|woff2|eot|ttf|svg)(.*)$/,
loader: 'url-loader?limit=10000',
},
{
test: /bootstrap\/dist\/js\/umd\//,
loader: 'imports-loader?jQuery=jquery',
},
],
},
plugins: [
new ExtractTextPlugin('bundle.css'),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
}),
],
};


Alex
05.02.2017
13:05:08
а sass у тебя внутри *.vue файла?

Timur
05.02.2017
13:05:42

Alex
05.02.2017
13:06:11
я просто какой то такой конфиг наблюдаю в доках

Timur
05.02.2017
13:06:12
<template>
</template>
<script>
</script>
<style lang="sass" rel="stylesheet/scss">
</style>

Alex
05.02.2017
13:06:20
options: {
loaders: {
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
// the "scss" and "sass" values for the lang attribute to the right configs here.
// other preprocessors should work out of the box, no loader config like this nessessary.
'scss': 'vue-style-loader!css-loader!sass-loader',
'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax',
'css': ExtractText.extract({
loader: 'css-loader',
fallbackLoader: 'vue-style-loader'
})
}
// other vue-loader options go here
}
},

Timur
05.02.2017
13:06:21
Вот так организован компонент.

Alex
05.02.2017
13:06:38
окей, сейчас твой попробую, спасибо

Admin
ERROR: S client not available

Alex
05.02.2017
13:33:26


Timur
05.02.2017
13:38:24
а у тебя какая версия webpack?
"devDependencies": {
"axios": "^0.15.3",
"babel-core": "^6.22.1",
"babel-loader": "^6.2.10",
"babel-plugin-transform-object-rest-spread": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"bootstrap-loader": "^2.0.0-beta.20",
"bootstrap-sass": "^3.3.7",
"css-loader": "^0.26.1",
"extract-text-webpack-plugin": "2",
"file-loader": "^0.10.0",
"jquery": "^3.1.1",
"jwt-decode": "^2.1.0",
"node-sass": "^4.5.0",
"nodemon": "^1.11.0",
"resolve-url-loader": "^1.6.1",
"sass-loader": "^4.1.1",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"vee-validate": "^2.0.0-beta.21",
"vue": "^2.1.10",
"vue-loader": "^10.2.0",
"vue-router": "^2.2.0",
"vue-template-compiler": "^2.1.10",
"vuex": "^2.1.1",
"webpack": "^2.2.1"
},
"dependencies": {
"body-parser": "^1.16.0",
"boom": "^4.2.0",
"ejs": "^2.5.5",
"express": "^4.14.1",
"helmet": "^3.4.0",
"jsonwebtoken": "^7.2.1",
"mysql": "^2.13.0",
"sequelize": "^3.30.1",
"sequelize-cli": "^2.5.1"
},


Alex
05.02.2017
13:39:03
"devDependencies": {
"axios": "^0.15.3",
"babel-core": "^6.22.1",
"babel-loader": "^6.2.10",
"babel-plugin-transform-object-rest-spread": "^6.22.0",
"babel-preset-es2015": "^6.22.0",
"bootstrap-loader": "^2.0.0-beta.20",
"bootstrap-sass": "^3.3.7",
"css-loader": "^0.26.1",
"extract-text-webpack-plugin": "2",
"file-loader": "^0.10.0",
"jquery": "^3.1.1",
"jwt-decode": "^2.1.0",
"node-sass": "^4.5.0",
"nodemon": "^1.11.0",
"resolve-url-loader": "^1.6.1",
"sass-loader": "^4.1.1",
"style-loader": "^0.13.1",
"url-loader": "^0.5.7",
"vee-validate": "^2.0.0-beta.21",
"vue": "^2.1.10",
"vue-loader": "^10.2.0",
"vue-router": "^2.2.0",
"vue-template-compiler": "^2.1.10",
"vuex": "^2.1.1",
"webpack": "^2.2.1"
},
"dependencies": {
"body-parser": "^1.16.0",
"boom": "^4.2.0",
"ejs": "^2.5.5",
"express": "^4.14.1",
"helmet": "^3.4.0",
"jsonwebtoken": "^7.2.1",
"mysql": "^2.13.0",
"sequelize": "^3.30.1",
"sequelize-cli": "^2.5.1"
},
благодарю

Влад
05.02.2017
13:53:21
Привет всем)

Alex
05.02.2017
13:54:26
привет

Влад
05.02.2017
13:54:38
Я недавно начал заниматься с vue
Читал ваш пост про компоненты, на медиуме.
Вы писали про бмен данными через props.
Я попробовал и у меня что то не получается. Можете помочь?

Alex
05.02.2017
13:56:50
Спрашивайте, чем сможем поможем)

Влад
05.02.2017
13:57:37
Секунду
Я делаю to-do простенькиий с монгой.
У меня есть 3 компонента: App, TodoList, TodoItem.
Структура примерно такая -

Google

Влад
05.02.2017
14:08:34
В компоненте TodoList я из базы по запросу получаю данные и сохраняю в data

Michael
05.02.2017
14:08:48
Ребят подскажите, при инициализации нового проекта через vue init webpack, и установке зависимосте, у всех такая ошибка при npm run dev
Error: Cannot find module 'eslint-friendly-formatter'
?

Влад
05.02.2017
14:09:07
Как мне передать данные от todolist в Item

Michael
05.02.2017
14:09:17
Понятно что зависимости нет, но я еслинт неиспользую

Timur
05.02.2017
14:11:56

Влад
05.02.2017
14:12:04
Да
пропс?

Timur
05.02.2017
14:13:18
https://vuejs.org/v2/guide/#Composing-with-Components
Угу.

Kelin
05.02.2017
14:13:44
?

Влад
05.02.2017
14:15:37
Что такое TodoForm

Kelin
05.02.2017
14:15:50
Ну добавлять задачки

Alex
05.02.2017
14:16:59
https://ru.vuejs.org/v2/guide/components.html про компоненты и входные параметры в частности лучше почитать сначала

Влад
05.02.2017
14:25:17
<div>
<input v-model="parentMsg">
<br>
<child v-bind:my-message="parentMsg"></child>
</div>
вот оно насколько я понимаю

Alex
05.02.2017
14:25:52
да, биндим под каким-то именем в компонент значение parentMsg

Ilia
05.02.2017
14:26:51

Влад
05.02.2017
14:30:06
О, получилось!