<div>
<app-component><!-- Внутри флекс элементы --></app-component>
</div>
...
@Component({
selector: 'app-component',
templateUrl: '...',
host: {
'class': 'app-flex-style'
}
})
export class AppComponent {
....
}
return data;
(data) => {
return data;
}
@Component({
selector: 'my-component'
})
export class MyComponent {
@Input()
shown: boolean;
@Output()
shownChange = new EventEmitter<boolean>();
onClick():void {
this.shown = false;
this.shownChange.emit(this.shown);
}
}
<my-component [(shown)]="property"></my-component>
// Определения функций
function tmp (num) {
var prime = num != 1;
for (var i = 2; i < num; i++) {
if (num % i == 0) {
prime = false;
break;
}
}
console.log('0isPrime');
return prime;
}
tmp.memoized = function(key) {
console.log('memoized');
this._values = this._values || {};
return this._values[key] !== undefined ?
this._values[key] :
this._values[key] = this.apply(null, arguments);
};
tmp.memoize = function() {
console.log('memoize');
var fn = this;
return function() {
return fn.memoized.apply(fn, arguments);
};
};
// Определения переменных
var isPrime, isSeventeenPrime;
// Непосредственно код
console.log('0');
console.log('1');
console.log('2');
isPrime = tmp.memoize(); // console.log('memoize')
console.log('3');
isSeventeenPrime = isPrime(17); // console.log('memoized'), console.log('0isPrime')
console.log(isSeventeenPrime); // console.log(true)
console.log('4');
The getElementsByName(name) method takes a string name, and must return a live NodeList containing all the HTML elements in that document that have a name attribute whose value is equal to the name argument (in a case-sensitive manner), in tree order.
var form = document.querySelector('[name="search-person"]');
alert('тип' + form.outerHTML);
var input = form.querySelector('[name="info[0]"]');
alert('тип' + input + ' код' + input.outerHTML);
('article')
трактуется js не как функция, а как создание объекта типа String, в который "фреймворк" накостылял своих методов.// Расширяем стандартный объект:
String.prototype.foo = function () {console.log('Foo', arguments)};
// И вызываем метод на строке:
('').foo('bar')
// Предыдущий вызов аналогичен этому:
String('').foo(42)
Недостатки
Расширение базовой структуры данных String, отчего в будущем это может привести к регрессии веб-приложения
for (var idx = 0; idx < arr.length; idx++) {
if (arr[idx]._id === obj._id) break;
}
// Либо сработал break и idx это индекс элемента с совпадающим _id,
// либо цикл добежал до конца и idx = arr.length и элемент добавится
// в конец массива (фактически то же что и push)
arr[idx] = obj;
The ':before' and ':after' pseudo-elements can be used to insert generated content before or after an element's content. They are explained in the section on generated text.Спецификация
ведь указано что он блочный элемент
var p = document.getElementsByTagName('p')[0],
text = '',
child,
index;
for (index = 0; index < p.childNodes.length; index++) {
child = p.childNodes[index];
if (child.nodeType == Node.TEXT_NODE)
{
text += child.nodeValue;
}
}
console.log(text);