Angular/Javascript:按值复制一个简单的数字而不引用
Angular/Javascript : Copy a simple number by value without reference
>我正在尝试复制一个包含id的简单范围变量而不引用它。
这是一段代码,显示了我在做什么:
.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
中的对象都包含相同的 id。那么没有参考的复制的正确方法是什么?
我不知道发生了什么。
编辑:是我在map
功能上做错了。
不确定我是否理解您要做什么,但这应该有效:
this.supportedProjects = this.supportedProjects.map(function(object) {
if (object.title.title)
object.title = object.title.title;
return object;
});
试试这个:
.controller('ctl', function($scope, $rootScope, Resource) {
var controllerScope = this;
this.tId = 0;
/* ... */
this.addProject = function() {
this.supportedProjects.push(this.add.project);
this.supportedProjects = this.supportedProjects.map(function(object) {
var id = controllerScope.tId + 1;
if (object.title.title)
return {
id: id,
title: object.title.title,
};
else
return {
id: id,
title: object.title,
};
});
controllerScope.tId++;
/* ... */
};
}
相关文章:
- Moment/Jquery-一个简单时间线的愚蠢问题
- 问题用moment JS制作一个简单的时间表
- 我怎么能让流星简单模式中的一个字段等于一个js变量,并且仍然让用户填写简单模式的其余部分
- 测试一个简单的javascript按钮
- 用Jquery map和moment js制作一个简单的时间线
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 是否有一个javascript库来解析简单的查询
- 一个简单的粘性头jQuery脚本的问题
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- Sencha Touch使一个简单的按钮工作
- 正在寻找一个非常简单的例子UpdateListItems与Sharepoint2007的SPservices
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 如何在Javascript中定义一个简单的自动重启倒计时
- 如何使一个简单的HTML文件成为wordpress中可用的页面
- 如何用D3添加一个简单的圆弧
- angularjs做一个简单的倒计时
- 每次使用 Javascript 加载页面时增加一个数字(变量)的简单方法
- 创建一个简单的处理 p5.js 库