2016-05-12 45 views
3

我工作的angular2「2.0.0 RC.1」的數組 但zoneJS是給下面的錯誤例外:錯誤:未捕獲的(在承諾):預期「風格」是字符串

Error: Uncaught (in promise): Expected 'styles' to be an array of strings. 
    at resolvePromise (zone.js:538) 
    at zone.js:515 
    at ZoneDelegate.invoke (zone.js:323) 
    at Object.NgZoneImpl.inner.inner.fork.onInvoke (eval at <anonymous> (vendor.js:335), <anonymous>:45:41) 
    at ZoneDelegate.invoke (zone.js:322) 
    at Zone.run (zone.js:216) 
    at zone.js:571 
    at ZoneDelegate.invokeTask (zone.js:356) 
    at Object.NgZoneImpl.inner.inner.fork.onInvokeTask (eval at <anonymous> (vendor.js:335), <anonymous>:36:41) 
    at ZoneDelegate.invokeTask (zone.js:355) 

我的代碼如下

let styles = require('./dashboard.css'); 
let template = require('./dashboard.html'); 
declare var zingchart:any; 

@Component({ 
    selector: 'dashboard', 
    directives: [ RouterLink, CORE_DIRECTIVES, FORM_DIRECTIVES ], 
    template: template, 
    styles: [ styles ] 
}) 
+0

你可以顯示最新的代碼? –

回答

4

我認爲你做的分量styles屬性的錯誤配置。這應該是類似的東西:

@Component({ 
    (...) 
    styles: [` 
    .card { 
     height: 70px; 
     width: 100px; 
    } 
    `] 
}) 

請參閱此鏈接瞭解詳情:

編輯

如果你想包括CSS文件使用如下:

@Component({ 
    (...) 
    styleUrls: ['css/style.css'] 
}) 
+0

我的方法有什麼問題? –

+0

'require'加載模塊或JSON文件。 CSS文件不是這種情況。它不會得到一個字符串,但一個對象... –

+0

在你的情況,我認爲'styleUrls'屬性是你正在尋找...我更新了我的答案。 –

2

錯誤很明顯。當你定義你的組件時,styles屬性應該是一個數組而不是一個字符串。

看到該文檔:https://angular.io/docs/ts/latest/guide/component-styles.html

編輯:如果你想使用.css文件,你應該使用styleUrls屬性並指向您的文件。

+0

但我正在做同樣的事情。 –

+0

更新了我的回答 –

+0

沒有我的朋友,我們可以使用風格變量來指定它 –

2

當你沒有爲你的css文件定義一個加載器時,你最終會遇到這個錯誤。
檢查您是否已經安裝一個模塊加載器中的WebPack配置是這樣的:

loaders: [ 
    { 
    test: /\.css$/, 
    loader: 'raw' 
    } 
    // ... 
] 

的WebPack不會接的文件,如果沒有加載器的CSS文件,並會引發此錯誤。
如果尚未包含在您的依賴項中,您需要使用npm install --save-dev raw-loader將raw-loader添加到您的dev-dependencies中。 如果你使用靜態css文件,當然不需要任何處理,你可以使用styleUrls來代替。
要使用sass,您需要使用這種方式來加載樣式,並且可以使用加載器raw!sass代替/\.scss$/

5

試試這個: let styles = String(require('./ dashboard.css'));

它適合我。 由於樣式需要一個字符串[],因此將樣式解析爲String()。

相關問題