用数字声明变量不起作用

时间:2018-04-29 13:57:04

标签: javascript angularjs

我想显示我在js中声明的变量,只是为了用数字启动它并显示他的价值' world'但它显示变量的名称,我不知道语法中的错误在哪里 他给我结果你好name0!

$scope.n=0;
$scope['name'+$scope.n] = 'World';
<p>Hello {{'name'+n}}!</p>

2 个答案:

答案 0 :(得分:1)

创建另一个范围对象以添加变量属性,以便您可以在视图中引用该对象并使用[]表示法来表示变量属性名称

$scope.data = {};
$scope.n=0;
$scope.data['name'+$scope.n] = 'World';

查看

<p>Hello {{data['name'+n]}}!</p>

答案 1 :(得分:1)

可以使用标识符$scope访问上下文对象(this):

&#13;
&#13;
angular.module("app",[])
.controller("ctrl", function($scope) {
    $scope.n=0;
    $scope['name'+$scope.n] = 'World';
});
&#13;
<script src="//unpkg.com/angular/angular.js"></script>
<body ng-app="app" ng-controller="ctrl">
    <p>Hello {{this['name'+n]}}!</p>
</body>
&#13;
&#13;
&#13;

有关详细信息,请参阅AngularJS Developer Guide - Expression Context