Типы атрибутов пользовательских компонентов
Мне было интересно, могу ли я передать другие типы аргументов, чем int, String
чтобы пользовательские компоненты объяснялись здесь. Моя проблема в том, что я хочу создать компонент и передать данные типа List
, особенно List<Map<String, String>>
к самому компоненту. Как я могу достичь этой функциональности? Другими словами, как я могу передать другие аргументы компоненту в angulardart, кроме int или String?
Мой связанный код выглядит так:
@NgComponent(
...
)
class MyComponent {
List<Map<String, String>> myList;
...
@NgAttr('myAttr')
set setMyAttribute(List<Map<String, String>> myList) {
this.myList = myList;
}
...
}
Где я использую компонент:
<div>
...
<mycomponent myAttr="ctrl.returnsAListOfMaps"></mycomponent>
...
</div>
Любая идея? Является ли это возможным?
ура
2 ответа
С @NgAttr
буквальное значение атрибута присваивается файлу.
С @NgOneWay
, @NgTwoWay
, @NgOneWayOneTime
значение атрибута оценивается и результат присваивается.@NgCallback
для назначения функций обратного вызова.
Можно использовать различные типы типов с атрибутами компонента (карта, список и даже объект / класс).
Здесь вы можете найти несколько примеров: /questions/20251784/kak-vyizvat-obnovlenie-ngcomponent-pri-izmenenii-dochernego-svojstva/20251792#20251792