но вторая его версия пишется на TypeScrip
class Foo {
bar = 'default property value';
constructor(untypedArg) {
this.foobar = untypedArg;
}
}
var data = $.param({
зфкфьі: ["apple", "potato"] ,
});
$http.put('http://*****/mongorest/control/get-menu?'+ data)
$http.put('/some/url', {
someKey: ["apple", "potato"] ,
}).then(function (response) {
// не пользуйтесь .success/.error
}, function (reason) {
// пользуйтесь только промисами.
});
$http.get('/something', {
params: {
query: 'param'
}
}
@keyframes progress{
from{
width: 0;
}
to{
width: 100%;
}
}
.progressbar:after{
content: '';
position: absolute;
height: 100%;
animation: progress 60s linear forwards;
}
@keyframes hide{
from{
opacity: 1;
}
to{
opacity: 0;
}
}
.progressbar{
animation: hide 100ms 60s ease-in-out;
}
// MyLib.js
export class Dedka {}
export class Repka extends Dedka {}
// клиентский код
import MyLib from './lib/MyLib';
const a = new MyLib.Dedka();
const c = new MyLib.Repka();
import {Dedka, Koshka as Zhoochka} from './lib/MyLib';
ни на грош. Сергей Протько абсолютно прав, все эти псевдо-«пространства имен» исключительно от отсутствия нормальной модульной системы. Но всё это сидит в общем объекте, который играет роль пространства имен. Очень понятно, наглядно, удобно.
import L from 'leaflet';
var m = new L.Map();
// и
import {Map} from 'leaflet';
var m = new Map();
function load_script_promise(url){
return new Promise(function(resolve, reject){
var head = document.getElementsByTagName('head')[0]
var script = document.createElement('script')
script.type = 'text/javascript'
script.addEventListener('load', function(){
this.removeEventListener('load', arguments.callee)
resolve(script)
})
script.src = url
head.appendChild(script);
})
}
Promise.all([
load_script_promise("some1.js"),
load_script_promise("some2.js")
]).then(alert)