В ответ на ваш второй вопрос самым изящным способом сделать это будет использование функции, которая принимает два параметра вместо массива:
add = lambda a, b: a + b
add(1, 3)
Однако, используя lambda здесь немного глупо. Python дает нам модуль operator
, который обеспечивает функциональный интерфейс для основных операторов. Лямбда выше имеет лишние накладные расходы, просто для вызова оператора сложения:
from operator import add
add(1, 3)
Я понимаю, что вы играете, пытаясь изучить язык, но я не могу представить ситуацию, которую я бы использовал массив функций, в которых может возникнуть странная видимость Python.
Если бы вы захотели, вы могли бы написать небольшой класс, который использует ваш синтаксис индексирования массива:
class Adders(object):
def __getitem__(self, item):
return lambda a: a + item
adders = Adders()
adders[1](3)
Возможное объяснение: вы не объявили связанное значение.
Обходной путь: Добавление:
[textContent]="model"
при объявлении шаблона div
model;
ngOnInit(){
this.model = this.value;
}
внутри ElementComponent
класса экспорта
Демонстрация Stackblitz [114 ]
Связанный: Как использовать [(ngModel)] на предметах div, подлежащих удовлетворению в angular2? , https://github.com/KostyaTretyak/ng-stack/tree/master / проекты / contenteditable