this.postService.getPostByName(name).pipe(
mergeMap(post => forkJoin([
of(post),
this.postService.getTagsByPostId(post.id),
iif(() => post.hasComments(), this.getCommentsByPostId(post.id), of(null)),
]))
)
.subscribe(([post, tags, comments]) => {...})
Model.findAll({
attributes: [[sequelize.fn('COUNT', sequelize.col('hats')), 'no_hats']]
});
SELECT COUNT(hats) AS no_hats
sequelize.query
и вообще чем меньше секвелайзизмов, тем лучше. Отлаживать его то еще приключения. Особенно если кто-то активно использовал scope и методы инстансов. Наверное, наиболее подходящий вариант MongoDB (пишут, что она быстрая)
Выбрать хочется софт, знания по которому будут актуальными в ближайшие три-пять-восемь лет.
const keys = ["name", "my-city-id", "family-status",
"Number", "e-mail"
];
for (let id of keys) {
// выставил
let input = document.getElementById(id);
input.value = localStorage.getItem(id);
console.log("сохранено");
// закинул
let fun = function(id, input) {
input.addEventListener("change", function() {
localStorage.setItem(id, input.value);
});
};
fun(id, input);
}
[
'e-mail',
'family-status',
'my-city-id',
'name',
'Number',
].forEach((id) => {
/** @type {HTMLInputElement} */
const inputElement = document.getElementById(id);
inputElement.value = localStorage.getItem(id);
inputElement.addEventListener(
'change',
() => localStorage.setItem(id, inputElement.value),
);
});
addSafetySection() {
this.SafetyIncidents = this.SafetyIncidents.concat(new SafetyIncident());
// console.log("add new incedent");
}
Другой компонент, которому я передаю в качестве @Input простой объект не обновляется без вызова события!
(itemChange) = "item = $event"
) <ng-container *compile="template; context: { some_key: true }"></ng-container>
<ng-template [compile]="template" [compileContext]="{ some_key: true }">
<ng-container></ng-container>
</ng-template>
Основной вопрос: как передать объект чтобы он использовался в качестве compileContext? Ну или чтобы объект был передан как свойство compileContext
<ng-container *compile="template; context: myObject"></ng-container>
const p = {
a: 11
};
const obj = {
b: 22
};
Object.setPrototypeOf(obj, p);
obj.a //-> 11
obj.b //-> 22
console.log(Object.keys(obj).length); //-> 1
console.log((() => {
let length = 0;
for (const k in obj) {
length++;
}
return length;
})()); //-> 2 , т.е. a и b
console.log((() => {
let length = 0;
for (const k in obj) {
if (obj.hasOwnProperty(k)) {
length++
}
}
return length;
})()); //-> 1
'a' in obj //-> true
obj.hasOwnProperty('a') //-> false
for...in
в паре с hasOwnProperty
можно считать устаревшей конструкцией, вместо нее используются методы Object