首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >异常:错误:未捕获(在promise中):应为字符串数组

异常:错误:未捕获(在promise中):应为字符串数组
EN

Stack Overflow用户
提问于 2016-05-12 23:07:39
回答 4查看 7.1K关注 0票数 3

我正在angular2 "2.0.0-rc.1“上工作,但zoneJS给出了以下错误

代码语言:javascript
复制
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)

我的代码如下

代码语言:javascript
复制
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 ]
})
EN

回答 4

Stack Overflow用户

发布于 2016-06-10 22:53:10

试试这个: let style= String(require('./dashboard.css'));

这对我很管用。因为样式需要一个字符串,所以将样式解析为string[] ()。

票数 5
EN

Stack Overflow用户

发布于 2016-05-12 23:10:51

我认为您在组件中对styles属性进行了错误的配置。这应该是这样的:

代码语言:javascript
复制
@Component({
  (...)
  styles: [`
    .card {
      height: 70px;
      width: 100px;
    }
  `]
})

有关更多详细信息,请参阅此链接:

编辑

如果要包含CSS文件,请使用以下命令:

代码语言:javascript
复制
@Component({
  (...)
  styleUrls: ['css/style.css']
})
票数 4
EN

Stack Overflow用户

发布于 2016-05-12 23:11:11

错误是很明显的。定义组件时,styles属性应为数组而不是字符串。

请参阅文档:https://angular.io/docs/ts/latest/guide/component-styles.html

编辑:如果你想使用一个.css文件,你应该使用styleUrls属性并指向你的文件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37190891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档