无法访问以 http 开头的对象变量
Posted
技术标签:
【中文标题】无法访问以 http 开头的对象变量【英文标题】:Can't access object variable starting with http 【发布时间】:2017-12-08 13:31:39 【问题描述】:我在我的应用程序中使用了一个名为 profile 的 JSON 对象,我可以在我的 html 中访问它,如下所示:
<pre> profile | json </pre>
这会在我的屏幕上显示以下结果(省略值):
"sub": "Test",
"name": "Test",
"nickname": "Test",
"picture": "Test",
"updated_at": "2017-07-05T03:34:49.038Z",
"http://test.com/roles": [
"admin",
"guest"
]
我可以按如下方式访问所有变量:
<h3 class="name"> profile?.name </h3>
但我遇到的问题是访问以 http 开头的变量。如果我尝试:
<h3 class="name"> profile?.http://test.com/roles </h3>
我收到意外的令牌错误。
我无法更改此变量的名称是否可以通过其他方式访问它。
谢谢,
【问题讨论】:
【参考方案1】:与 javascript 类似,您需要对没有有效 identifier 名称的对象属性使用括号表示法:
<h3 class="name"> profile ? profile['http://test.com/roles'] : '' </h3>
很遗憾,括号表示法不支持安全导航运算符 (?
),因此您必须改用三元运算符。
【讨论】:
嘿那里,当我尝试这种格式时,我收到以下错误:未处理的承诺拒绝:模板解析错误:解析器错误:条件表达式配置文件?['test.com/roles'] 最后需要所有 3 个表达式表达式它还在我的编辑器中给了我一个标志,表明:是预期的。 我的错。括号表示法不支持猫王运算符。将更新我的答案。以上是关于无法访问以 http 开头的对象变量的主要内容,如果未能解决你的问题,请参考以下文章