我正在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 ]
})发布于 2016-06-10 22:53:10
试试这个: let style= String(require('./dashboard.css'));
这对我很管用。因为样式需要一个字符串,所以将样式解析为string[] ()。
发布于 2016-05-12 23:10:51
我认为您在组件中对styles属性进行了错误的配置。这应该是这样的:
@Component({
(...)
styles: [`
.card {
height: 70px;
width: 100px;
}
`]
})有关更多详细信息,请参阅此链接:
编辑
如果要包含CSS文件,请使用以下命令:
@Component({
(...)
styleUrls: ['css/style.css']
})发布于 2016-05-12 23:11:11
错误是很明显的。定义组件时,styles属性应为数组而不是字符串。
请参阅文档:https://angular.io/docs/ts/latest/guide/component-styles.html
编辑:如果你想使用一个.css文件,你应该使用styleUrls属性并指向你的文件。
https://stackoverflow.com/questions/37190891
复制相似问题