Требования к версии Node
Vue CLI требуется Node.js версии 8.9 или выше (рекомендуется 8.11.0+). Управлять несколькими версиями Node на машине можно с помощью nvm или nvm-windows.
function UserList() {
this.users = [];
this.has = function(User) {
return this.users.find(u =>
u.firstName === User.firstName
&& u.lastName === User.lastName
) !== undefined
}
this.add = function(User) {
if (this.has(User)) {
throw 'Ошибка. Такой пользователь уже зарегистрирован'
}
this.users.push(User);
}
// ...
}
//...
else {
fullName = fullName.split(' ');
user.firstName = fullName[0];
user.lastName = fullName[1];
try {
userList.add(user);
} catch(e) {
alert(e)
}
}
this.users.find(user => user.first === first && user.last === last)
// user || undefined
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<h1>хеллоу</h1>
<div>
<ul class="filter">
<li class="active" data-filter="*">Все</li>
<li data-filter="animals">Животные</li>
<li data-filter="fish">Рыбы</li>
<li data-filter="insects">Насекомые</li>
</ul>
</div>
<div class="slider">
<img src="https://ichef.bbci.co.uk/news/660/cpsprodpb/BEEB/production/_108557884_gettyimages-486237421.jpg" alt="Image" class="item animals slider-image">
<img src="https://images2.minutemediacdn.com/image/upload/c_crop,h_1706,w_3036,x_0,y_241/f_auto,q_auto,w_1100/v1554752078/shape/mentalfloss/istock-483749258.jpg" alt="Image" class="item insects slider-image">
<img src="https://www.dw.com/image/47554840_303.jpg" alt="" class="item insects slider-image">
<img src="https://images.unsplash.com/photo-1522720833375-9c27ffb02a5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&w=1000&q=80" alt="" class="item fish slider-image">
<img src="https://cdn.mos.cms.futurecdn.net/RY2EpSo74hvYXyAVpTN2Gg-320-80.jpg" alt="" class="item fish slider-image">
<img src="https://i.ytimg.com/vi/G569uHzxRD4/maxresdefault.jpg" alt="" class="item animals slider-image">
<img src="https://i.ytimg.com/vi/ZXblC3wc7tM/maxresdefault.jpg" alt="" class="item animals slider-image">
</div>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.js"></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="slick/slick.min.js"></script>
<script src="https://unpkg.com/isotope-layout@3/dist/isotope.pkgd.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.filter li').click(function () {
if( !$(this).hasClass("active") ) {
$(this).parent().find('.active').removeClass('active');
$(this).addClass('active');
let selector = $(this).attr("data-filter");
$(".slick-track").isotope({
itemSelector: ".item",
filter: (selector === "*") ? "*" : "." + selector
});
}
});
$('.slider').slick({
slidesToShow: 3,
slidesToScroll: 1
});
});
</script>
</body>
</html>
div {
position: relative;
}
div:before {
content: " ";
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 97%;
border: 3px solid #f00;
border-radius: 10px 0 0 10px;
border-right: none;
}
<select v-model="selectedValue">
<option v-for="(item, index) in options" :value="item.value" :key="index">
{{ item.title }}
</option>
</select>
data:{
selectedValue:""
},
computed: {
// месячная ставка (для перевода процентной ставки из годовой в месячную)
getMonthRate: function () {
//Здесь настоятельно рекомендую переделать в switch-case
if (this.selectedValue === 'year') {
return this.percent / 12 / 100
} else if (this.selectedValue === 'month') {
return this.percent / 100
} else {
return 0
}
}
}
<select v-model="selected">
<option v-for="item in options" :value="item.value">
{{ item.title }}
</option>
</select>
data: () => ({
selected: null,
...
}),
computed: {
monthRate() {
if (this.selected === 'year') {
return this.percent / 12 / 100;
} else if (this.selected === 'month') {
return this.percent / 100;
} else {
return 0;
}
},
},
нужно, чтобы в зависимости от выбранной опции, функция срабатывала по разной формуле
monthRate() {
return this.percent * this.selected / 100;
},
function mul(start, end) {
let result = 1;
for (let i = start; i <= end; i++) {
result *= i;
}
return result;
}
function choose(n, k) {
return n > k
? Math.round(mul(n - k + 1, n) / mul(2, k))
: +(n === k);
}