v-model="selected"
на v-model="selected[i]"
.null
, которые vue подставляет для индексов без установленных значений, то массив можно заменить объектом. Хочу научиться использовать последние стандарты (ES7, ES8), смотрел их разные фишки, хотелось бы попробовать, но как эти стандарты можно активировать?
Видел фишки что то вроде "Точечный синтаксис"
Что-то вроде этого:
console.log ('Привет Мир!');
можно заменить на
c.l.'Привет Мир!'..
a = [
{:car=>["BMW", "Mersedes", "Audi"]},
{:car=>["Renault", "Ferrari", "Nissan"]},
{:car=>["VW"]},
{:country=>["Russia", "Japan", "USA"]},
{:country=>["China", "Nigeria", "Egypt"]},
{:city=>["Moscow", "Tokyo", "Amsterdam"]}
]
b = a.group_by{|n| n.keys[0]}.map{|k, n| {k => n.map{|m| m[k]}}}
$scope.items = [ 1, 2, 3, 4, 5, 6, 7, 8 ].map(n => ({
value: n,
show: false,
}));
<li ng-repeat="item in items">
<a ng-click="item.show = !item.show">toggle</a>
<div ng-show="item.show">
hello, world!!
</div>
{{ item.value }}
</li>
self.model.child = response.data.folders;
self.$set(self.model, 'child', response.data.folders);
new Worker("PrimeWorker.js");
А вот соответственно и код PrimeWork.js:
Функция продолжает работу после инструкции return true
checkPalindrome(newStr);
return checkPalindrome(newStr);
class App extends React.Component {
state = {
divStyle: {
display: 'flex',
alignItems: 'center',
width: '1000px',
height: '500px',
outline: '1px solid red',
position: 'relative',
},
move: {
position: 'absolute',
width: '200px',
height: '100px',
outline: '1px solid green',
left: 100,
top: 200,
},
}
handlerMouseDown = e => {
this.deltaX = e.pageX - this.ourdiv.offsetLeft;
this.deltaY = e.pageY - this.ourdiv.offsetTop;
window.addEventListener('mousemove', this.handlerMouseMove);
}
handlerMouseUp = e => {
window.removeEventListener('mousemove', this.handlerMouseMove);
}
handlerMouseMove = ({ pageX }) => {
this.setState(({ move }) => ({
move: {
...move,
left: Math.min(700, Math.max(100, pageX - this.deltaX)),
},
}));
}
render() {
return (
<div>
<div style={this.state.divStyle}>
<div
ref={ourdiv => this.ourdiv = ourdiv}
style={this.state.move}
onMouseDown={this.handlerMouseDown}
onMouseUp={this.handlerMouseUp}
></div>
</div>
</div>
);
}
}
<div class="map" id="map"></div>
<script src="https://maps.googleapis.com/maps/api/js"></script>
html, body {
padding: 0;
margin: 0;
}
.map {
position: absolute;
width: 100%;
height: 100%;
}
let iconIndex = -1;
const icons = [
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Chartreuse-icon.png',
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Azure-icon.png',
'http://icons.iconarchive.com/icons/icons-land/vista-map-markers/64/Map-Marker-Marker-Outside-Pink-icon.png'
];
google.maps.event.addDomListener(window, 'load', function() {
const latlng = { lat: -25.363, lng: 131.044 };
const map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: latlng,
});
const marker = new google.maps.Marker({
position: latlng,
map,
});
google.maps.event.addListener(marker, 'click', function() {
iconIndex = (iconIndex + 1) % icons.length;
marker.setIcon(icons[iconIndex]);
});
});
const $wrapper = $('.wrapper');
$wrapper
.children()
.sort((a, b) => $('p', a).text() - $('p', b).text())
.appendTo($wrapper);
const wrapper = document.querySelector('.wrapper');
wrapper.append(...Array
.from(wrapper.children, n => [ n, +n.querySelector('p').innerText ])
.sort((a, b) => a[1] - b[1])
.map(n => n[0])
);