严格模式下不允许使用八进制文字

时间:2016-04-27 01:43:50

标签: javascript css angular

我正在使用Angular 2。

当我在SCSS文件中使用它时,它运行良好。

.text::after {
  content: "\00a0\00a0";
}

然而,当我把它移到

styles: [``]

它显示:

  

Uncaught SyntaxError:严格模式下不允许使用八进制文字。

我知道styles: [``]中的代码需要是CSS代码。

我试过

styles: [`
    .text::after {
      content: "  ";
    }
`]

然后屏幕直接显示  。我怎样才能正确写出来?

3 个答案:

答案 0 :(得分:24)

你需要逃避它

.text::after {
  content: "\\00a0\\00a0";  // now it's just a simple plain string
}

"use strict"是JavaScript 1.8.5(ECMAScript第5版)中引入的新功能。

其中,

  • 不允许使用八进制数字文字
  • 不允许转义字符
  • see more...

答案 1 :(得分:0)

或者您可以在u之前添加\ (unicode)

  .text::after {
    content: "\u00a0\u00a0"
  }

答案 2 :(得分:0)

\ 00a0值存在问题,因为它不是八进制数字(八进制字符为0-7),但是它是十六进制数字,因此请使用以下方法:

.text::after {
  content: "\x00a0\x00a0";
}