2016-02-10 48 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 = {})); 

但我怎麼會定義一個可重用的組件?文檔似乎是用Typescript或Angular 1編寫的。

+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

我仍然有麻煩,但我相信這是愚蠢的。我發現了一個較早的問題[here](http://stackoverflow.com/questions/30689094/is-it-possible-to-use-es5-javascript-with-angular-2-instead-of-typescript)其中有人覆蓋指令與ES5。我必須等到明天,直到我可以測試更多,然後才能將其標記爲已回答。令人沮喪的是,我可以在Typescript中使用指令,但是由於某些原因,我的工作並不想使用polyfills! –

相關問題