объявление переменной с номером не работает - PullRequest
0 голосов
/ 29 апреля 2018

Я хочу показать переменную, которую я объявил в js, просто чтобы инициировать ее с номером и показать его значение 'world', но оно показывает имя переменной с номером, я не знаю, где находится ошибка в синтаксисе. он дает мне в результате Привет name0!

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

Ответы [ 2 ]

0 голосов
/ 29 апреля 2018

Возможно получить доступ к объекту контекста ($scope), используя идентификатор this:

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

Для получения дополнительной информации см. Руководство разработчика AngularJS - Контекст выражения .

0 голосов
/ 29 апреля 2018

Создайте еще один объект области действия для добавления свойства переменной, чтобы вы могли ссылаться на этот объект в представлении и использовать нотацию [] для имени свойства переменной там

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

View

<p>Hello {{data['name'+n]}}!</p>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...