В angular-dart можно создавать свои собственные компоненты, как показано на здесь. Если вы используете собственные теги в html, например:
<rating></rating>
angular создаст компонент, вызвав конструктор класса, связанного с рейтингом, в данном случае new RatingComponent () (если я не ошибаюсь).
Я знаю, что вы можете добавлять атрибуты для некоторого контроля над ним, но мне было интересно, можно ли предоставить свои собственные экземпляры вместо вызова конструктора angular. Что делать, если у меня есть список кнопок в главном контроллере, как добиться чего-то вроде этого:
<div ng-repeat='b in ctrl.buttonList'>
<fancy-button instance='b'></fancy-button>
</div>
У меня такое чувство, что я упускаю что-то очевидное, но я поискал все вокруг и не нашел ответа.
edit (для дополнительных пояснений): я думаю, это сводится к тому, можете ли вы или не можете повлиять / обойти вызов конструктора с помощью angular. Если бы речь шла только о создании html, его легко не использовать компонент и просто сгенерировать html с помощью основного контроллера (как показано ниже), но, если возможно, я хотел бы использовать компонент, поскольку он также имеет shadow-dom для песочницы CSS.
<div ng-repeat='b in ctrl.buttonList'>
<input type='button' class='fancy' value='{{b.label}}'></input>
</div>
instance
и делатьswitch
над его значением и делать разные вещи. В качестве другой возможности вы (возможно) могли бы объявить компонент, который запускается при определенных значениях атрибута экземпляра.@NgComponent('selector':'fancy-button[instance=unicorn]', …) class MyUnicornButton { … }
(ссылка на (java; (doc goo.gl/j0tYCg) и попросите процессор angular разобраться в этом размышление.Если это вроде того, что вы имеете в виду, и если вам интересно, я могу попробовать это и опубликовать примеры, если что-то из этого сработает. - person user7610   schedule 28.12.2013