2016-02-10 4 views
4

В примерах, которые я нашел для Угловых 2, компоненты могут быть созданы один раз в приложение, например:Как создать многократно используемый компонент в угловых 2 Без машинописи

(function(app) { 
    app.AppComponent = 
    ng.core.Component({ 
     selector: 'my-app', 
     template: '<h1>My First Angular 2 App</h1>' 
    }) 
    .Class({ 
     constructor: function() {} 
    }); 
})(window.app || (window.app = {})); 

с приложением/main.js самонастройки компонент:

(function(app) { 
    document.addEventListener('DOMContentLoaded', function() { 
    ng.platform.browser.bootstrap(app.AppComponent); 
    }); 
})(window.app || (window.app = {})); 

Но как бы определить компонент многократного использования? Документация представляется в машинописном или угловом формате.

+0

Документы для ESx находятся в процессе разработки. –

+0

Да, документация - это WiP, поэтому я искал здесь помощь :) –

+0

Это, конечно, конечно :) –

ответ

0

Каждый компонент по умолчанию используется повторно. Вы можете использовать его как directive внутри шаблона другого компонента, например <my-app></my-app> (Возможно, это не лучшая идея с корневым компонентом приложения, но с чем-то еще, как <my-user-details [user]="user"></my-user-details>). Другой способ повторного использования компонентов - использовать маршрутизатор Angular 2 для перехода к тем же компонентам с различными конфигурациями маршрутов.

Все зависит от того, как вы создаете свои компоненты, как правило, вы получаете smart (с функциональностью) и dumb (только макет), в которых немой будет использоваться больше всего.

+0

Вы правы, использование моего приложения не было иллюстрацией того, чего я хотел достичь. Я думаю, что мое замешательство было связано с установкой window.app.AppComponent (прошло некоторое время, так как я смотрел на это без TS). Поскольку примеры, которые я нашел, были для отдельных компонентов, таких как страница, которую я читал, как будто app.AppComponent был экземпляром компонента, а не классом компонентов, который будет создан позже. Думаю, мне нужно вернуться и сделать еще несколько тестов. –

+1

Я буду после того, как у меня была возможность проверить это, решает мою проблему. –

+0

У меня проблемы, но я уверен, что это что-то глупое. Я нашел более ранний вопрос [здесь] (http://stackoverflow.com/questions/30689094/is-it-possible-to-use-es5-javascript-with-angular-2-instead-of-typescript), где кто-то закрыл директивы с ES5. Мне придется подождать до завтра, пока я не смогу проверить еще несколько, прежде чем я смогу отметить это, как ответ. Отвратительная часть заключается в том, что я могу работать с директивами в TypScript, но моя работа не хочет использовать полисы по какой-то причине! –

Смежные вопросы