AngularJS:如何转义具有运算符的JSON密钥?

时间:2017-04-29 21:20:10

标签: angularjs json escaping

这是一个AngularJS语法问题。

{“key-part”:“value-part”}是一个有效的JSON对象。但是,在AngularJS中,{{x.key-part}}是一个表达式。它不返回“值 - 部分”但返回0.任何想法如何逃避' - '?

是的,您可能会问为什么使用“key-part”而不是“key_part”。好吧,我无法控制。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以像标准Javascript对象一样访问对象的属性:https://www.w3schools.com/js/js_properties.asp

所以<span>{{myObject['attr']}}</span>工作

"use strict";

angular.module("demo", [])
  .controller("MainController", MainController);

function MainController() {
  var vm = this;
  vm['da-ta'] = "data";
};
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="demo" ng-controller="MainController as main">
  <div ng-bind="main['da-ta']"></div>
</div>

答案 1 :(得分:0)

尝试使用{{ x["key-part"] }}代替{{ x.key-part }}

工作演示

&#13;
&#13;
var myApp = angular.module('myApp',[]);

myApp.controller('MyCtrl', function($scope) {
    $scope.x = { "key-part": "value-part" };
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
  {{ x["key-part"] }} 
</div>
&#13;
&#13;
&#13;