What do I need to do to ensure that an object I assign in observable is not affected by updates angular?
myObj : = ;
tmpObj: = ;
ngOnInit()
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = Object.assign(, this.myObj);
)
updateData(prop, val)
this.myObj[prop] = val;
When I call updateData method and update the property of myObj, this change affect the tmpObj. But I don't want the tmObj object to be affected by these changes. What am I supposed to do for this?
angular rxjs observable angular6 reference-type
add a comment |
myObj : = ;
tmpObj: = ;
ngOnInit()
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = Object.assign(, this.myObj);
)
updateData(prop, val)
this.myObj[prop] = val;
When I call updateData method and update the property of myObj, this change affect the tmpObj. But I don't want the tmObj object to be affected by these changes. What am I supposed to do for this?
angular rxjs observable angular6 reference-type
1
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27
add a comment |
myObj : = ;
tmpObj: = ;
ngOnInit()
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = Object.assign(, this.myObj);
)
updateData(prop, val)
this.myObj[prop] = val;
When I call updateData method and update the property of myObj, this change affect the tmpObj. But I don't want the tmObj object to be affected by these changes. What am I supposed to do for this?
angular rxjs observable angular6 reference-type
myObj : = ;
tmpObj: = ;
ngOnInit()
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = Object.assign(, this.myObj);
)
updateData(prop, val)
this.myObj[prop] = val;
When I call updateData method and update the property of myObj, this change affect the tmpObj. But I don't want the tmObj object to be affected by these changes. What am I supposed to do for this?
angular rxjs observable angular6 reference-type
angular rxjs observable angular6 reference-type
asked Nov 12 at 14:04
midstack
92662252
92662252
1
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27
add a comment |
1
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27
1
1
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27
add a comment |
1 Answer
1
active
oldest
votes
if is an array you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.slice();
)
or you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.map(x => Object.assign(, x))
)
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53263815%2fwhat-do-i-need-to-do-to-ensure-that-an-object-i-assign-in-observable-is-not-affe%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
if is an array you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.slice();
)
or you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.map(x => Object.assign(, x))
)
add a comment |
if is an array you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.slice();
)
or you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.map(x => Object.assign(, x))
)
add a comment |
if is an array you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.slice();
)
or you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.map(x => Object.assign(, x))
)
if is an array you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.slice();
)
or you can do:
this.myService.getData().subscribe(
data =>
this.myObj = data.values;
this.tmpObj = data.values.map(x => Object.assign(, x))
)
answered Nov 12 at 14:09
lesiano
1665
1665
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53263815%2fwhat-do-i-need-to-do-to-ensure-that-an-object-i-assign-in-observable-is-not-affe%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
You need to make a deep copy of the object (array) stackoverflow.com/questions/597588/…
– martin
Nov 12 at 14:27