css – Angular 2外部样式不会内联到标题

我在打字稿中有这个组件定义:
import {Component,ViewEncapsulation} from 'angular2/core';

@Component({
    selector: 'my-app',templateUrl: '/views/sandBox.html',styleUrls: ['/styles/sandBox.css'],styles: [`.wow { background-color: red; }`],encapsulation: ViewEncapsulation.Emulated
})
export class SandBox { }

根据这篇文章http://blog.thoughtram.io/angular/2015/06/25/styling-angular-2-components.html
样式部分和外部样式表中的样式都应按角度内联到标题中.

不幸的是,第二个没有被注入,角度仅注入样式部分中的一个.

我试过从浏览器访问/styles/sandBox.css,没关系. Angular也可以访问/views/sandBox.html,所以我不知道它为什么没有发生.

我正在使用:“angular2”:“2.0.0-beta.2”(最新测试版AFAIK)

解决方法

我在sandBox.css中做了一些测试和奇怪的样式,只有在styleUrls属性中使用相对路径时才适用:
@Component({
  selector: 'my-app',styleUrls: ['../styles/sandBox.css'],encapsulation: ViewEncapsulation.Emulated
})
export class AppComponent {
  constructor() {
  }
}

编辑

在查看源代码之后,Angular2阻止使用styleUrls的绝对路径.看到这一行:

> https://github.com/angular/angular/blob/master/modules/angular2/src/compiler/style_url_resolver.ts#L12

export function isStyleUrlResolvable(url: string): boolean {
  if (isBlank(url) || url.length === 0 || url[0] == '/') return false; // <-----
  var schemeMatch = RegExpWrapper.firstMatch(_urlWithSchemaRe,url);
  return isBlank(schemeMatch) || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';
}

希望它能帮到你,蒂埃里

相关文章

前言 最近项目做完,用户需要兼容IE,于是开展了兼容性的调整工作。边调整边想感叹IE真是个沙雕。。特将...
前言 有些属性不是很常用,但是工作中遇到了,记录一下,方便学习。 1、text-indent text-indent 属性规...
前言 政府网站会遇到公祭日的时候,网站整体颜色变灰的情况。今天正好调了一下。在此把解决方案分享给大...
需求 项目里有个消息中心,当有消息的时候,小铃铛图标可以晃两下,提示当前有信息。 实现过程 书写css...
html代码 css代码 效果图
在一些界面上 , 如果每个icon都去找图片还是相当麻烦的 , 直接使用css画出icon就方便的多了 , 下面两个...