Я пытаюсь скопировать простую переменную области, содержащую идентификатор, без ссылки на него.Угловой/Javascript: Скопируйте простое число по значению без ссылки
Вот фрагмент кода, показывающий, что я делаю:
.controller('ctl', function($scope, $rootScope, Resource) {
var controllerScope = this;
this.tId = 1;
/* ... */
this.addProject = function() {
this.supportedProjects.push(this.add.project);
this.supportedProjects = this.supportedProjects.map(function(object) {
var id = angular.copy(controllerScope.tId);
if (object.title.title)
return {
id: id,
title: object.title.title,
};
else
return {
id: id,
title: object.title,
};
});
this.tId++;
/* ... */
};
}
В этом случае объекты в supportedProjects
все содержат тот же идентификатор. Итак, каков правильный способ копирования без ссылки?
У меня нет подсказки о том, что происходит.
Редактировать: Это я делал неправильно с функцией map
.
Почему ваш ход 'this.supportedProjects' через' карте() ', который устанавливает для всех идентификаторов одинаковое значение? Это желаемое поведение? Если нет, то что? –
Это просто переформатировать объект, чтобы иметь правильный 'title', возможно, есть лучший способ сделать это, хотя – Ellone
Но вы устанавливаете каждый идентификатор объектов' controllerScope.tId'. Это то, что вы хотите сделать? Я действительно не понимаю эту идею. –