为什么我不能在这里使用破折号?
export class FizzService {
getFizzes() : object[] {
return[
{
iconClass: 'glyphicon glyphicon-search',
},
所以在上面我不能用
icon-class: 'glyphicon glyphicon-search',
我必须这样做:
iconClass: 'glyphicon glyphicon-search',
否则我看到错误:
答案 0 :(得分:4)
属性名称可以是字符串("foo"
)或标识符(foo
)。
标识符也可用于变量。
标识符不能包含连字符,因为它是 minus 运算符。
amount-discount
表示“金额减去折扣”,而不是“名称中带有连字符的变量”。
标识符不能包含空格,+
字符和许多其他字符。如果您希望属性名称包含特殊字符,请使用字符串。
答案 1 :(得分:2)
这是因为Object的属性不应包含除下划线之外的任何特殊字符(例如:property_name)。
如果你想在对象的属性中使用连字符,那么我们应该将属性放在引号中(例如:" property-name")。
请通过以下链接查看javascript中的命名约定。 http://javascript.crockford.com/code.html
答案 2 :(得分:0)
只需在属性名称周围用特殊字符引起引号,即:
'ng-class':'glyphicon glyphicon-house'