当前位置: 首页 > 面试题库 >

如何使用无效字符访问对象属性

左博学
2023-03-14
问题内容

我正在编写一个与已在使用的Google Analytics(分析)API交互的Angular应用。Google返回的数据以“ ga:”为前缀,例如“
ga:newVisits”示例。

如果我使用表达式{{total.ga:newVisits}},Angular无法解析它。逃避冒号继续的任何尝试均导致错误或完全逃避我的表达。

如何将{{total.ga:newVisits}}传递给Angular,以便表达式可以正常工作?

<!doctype html>
  <html ng-app="AnalyticsApp">
    <head>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
      <script src="angular-controller.js"></script>
    </head>
    <body ng-controller="AnalyticsCtrl">
      <ul>
        <li ng-repeat="total in result">
          {{total.ga:newVisits}}
        </li>
      </ul>
    </body>
  </html>

问题答案:

在JavaScript中,可以使用点符号或方括号符号来访问对象属性。点表示法通常更简洁,但有局限性。您已经注意到,您的媒体资源包含无效字符,因此无法通过点符号访问。然后,解决方案是使用括号表示法访问属性,如下所示:total['ga:newVisits']这样您的完整代码将为{{total['ga:newVisits']}}
现场演示在这里(单击)。

关于括号表示法的另一个不错的功能是,它允许您将变量名用作属性:

var myObj {
  bar: '123'
};
var foo = 'bar';

console.log(myObj[foo]); //logs '123'


 类似资料:
  • 问题内容: 我正在使用有人编写的PHP类来与BaseCamp API交互。 我正在执行的特定呼叫是在待办事项列表中检索项目,效果很好。 我的问题是,我不确定如何仅访问返回的对象的属性。这是返回对象的var_dump: 如何访问此对象的一部分? 问题答案: 因此,$ object-> {‘todo-list’}是子对象。如果可以这样设置,那么您也可以以相同的方式阅读它。 如果您想将其转换为数组,可以

  • 我使用的是类似于: 这给了我这样的输出: 我想访问键[0]中的字符串值。当我尝试做以下事情时: 我得到这个错误: 分析错误:语法错误,意外的T_DNUMBER 这两个数字/整数似乎有问题。

  • 问题内容: 我有一个 DOM元素: 有两个ID 和的字段..。我可以访问,没有任何问题,但是由于名称中包含句点,导致语法错误而失败。 如何访问这些属性? 问题答案: 使用方括号表示法: 这适用于任何对象,对于非标识符安全的字符以及访问你可能提前都不知道的键特别有用。

  • 问题内容: 我正在使用类似的东西: 这给了我这样的输出: 我想访问键[0]中的字符串值。当我尝试做类似的事情时: 我收到此错误: 解析错误:语法错误,意外的T_DNUMBER 这两个数字/整数似乎有问题。 问题答案: PHP7.2引入了一种行为上的更改,以转换对象和数组类型转换中的数字键,从而解决了这一特殊的不一致问题,并使以下所有示例的行为均符合预期。 少一件值得困惑的事情! 原始答案(适用于7

  • 问题内容: 我正在现有的代码库上工作,并获得了一个对象,该对象的属性以数字开头,可以看到是否调用了该对象。 假设是。当我尝试像这样访问它时,出现错误: 解析错误:语法错误,意外的T_LNUMBER,预期的T_STRING或T_VARIABLE或’{‘或’$’ 如何获得该属性? 问题答案: 那这个呢 : 实际上,您几乎可以对任何种类的变量执行此操作-即使对于不是类属性的变量也是如此。 例如,您可以考

  • 问题内容: 如何给定的属性的值? 问题答案: 有称为和的内置函数 在这种情况下