npm rebuild node-sass
. filteredOptions() {
return filter(this.options, new RegExp(this.searchText, 'gi'));
},
filter
:const filter = (data, needle, store = []) => {
for (const entry of data) {
const branch = {
...entry,
children: []
};
const isValid = needle.test(entry.name);
if (entry.hasOwnProperty('children') && entry.children.length > 0) {
filter(entry.children, needle, branch.children);
if (branch.children > 0 || isValid) {
store.push(branch);
}
} else {
if (isValid) {
store.push(branch);
}
}
}
return store;
};
const options = [
{
name: 'Выход детали из строя в процессе эксплуатации',
value: null,
children: [
{
name: 'Увеличение зазора, люфт (дробь/стуки)',
value: 53
},
{
name: 'Обрыв детали',
value: 54
}
]
},
{
name: 'Поломка при установке',
value: null
},
{
name: 'Брак до установки',
value: null,
children: [
{
name: 'Недокомплект',
value: 55
},
{
name: 'Заводской брак (замятия, отсутствие резьбы, пробой пыльника и т.д.)',
value: 56
}
]
}
];
console.log(filter(options, new RegExp('детали', 'gi')));
/*
[
{
name: 'Выход детали из строя в процессе эксплуатации',
value: null,
children: [ { name: 'Обрыв детали', value: 54, children: [] } ]
}
]
*/
App.vue
там у #app
text-align: center;
стоит.App.vue
methods
поставили в data
, а надо рядом расположить. export default {
...,
data: function () { ... },
methods: { ... }
}
build
специально для продакшена сделано, а serve
для разработки?package.json
, чтобы --watch
работал, если очень надо. :hover
больше не работает? Ну можно так:<a
:style="getMailStyle(user)"
v-on:mouseover="(event) => changeColor(evebt, user)"
v-on:mouseleave="() => originalColor(user)"
v-bind:href="`mailto:{{ user.commit.author.email }}`"
>{{user.commit.author.email}}</a>
methods: {
getMailStyle: function (user) {
return {
color: user.color
};
},
changeColor: function (e, user) {
e.preventDefault();
user.color = 'red';
},
originalColor: function (user) {
user.color = '#ccc';
}
}
fetch('https://api.github.com/repos/javascript-tutorial/en.javascript.info/commits')
.then(response => response.json())
.then(json => {
this.users = json.map(user => ({
color: '#ccc',
...user
}));
}