VSa*_*ack 4 javascript regex google-analytics angularjs
我正在编写一个Angular应用程序,该应用程序与正在使用的Google AnalyticsAPI进行交互.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>
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,可以通过点表示法或括号表示法访问对象属性.点符号通常更清晰,但有限制.如您所知,您的属性包含无效字符,因此无法通过点表示法访问.然后,解决方案是使用括号表示法访问属性:total['ga:newVisits']这样您的完整代码就可以了{{total['ga:newVisits']}}.现场演示(点击).
括号表示法的另一个不错的功能是它允许您使用变量名作为属性:
var myObj {
bar: '123'
};
var foo = 'bar';
console.log(myObj[foo]); //logs '123'
Run Code Online (Sandbox Code Playgroud)