How to make primitive type reference for binding










1















Before, I know it is kind of stupid question but i'm interested of finding answer (Don't vote down :))



I used to have this problem with angularJS and now I'm learning angular 6 and hoped there is a solution for it (which I haven't found yet)



I've created 2 custom components. The father gets an object for binding and gives its property to the son component.



For ex.



Son Component



<div> value </div>


Father Component



<div>
<son-component [value]="config.configSonValue"></son-component>
</div>


Usage of Father



<father-component [config]="myConfig"></father-component>


I'm skipping the code because it is not relevant to the question.



This is the myConfig value



this.sonValue = 1;
const myConfig =
configSonValue: this.sonValue // This line is the problem - loosing the reference



This makes the application run and show the 1.
But if i'm changing the value in my this.sonValue is not affecting the UI.



It makes sense cause the moment i'm setting the value of configSonValue the value from this.sonValue is being copied and not referenced while its primitive type.



Today i'm asking the user to provide me the scope object and the name of the variable he wants to bind.. and in the binding i'm doing scope[name].



I hoped there is something like



const myConfig = 
configSonValue: angular.copyRef(this.sonValue) // wishful solution



Here is an example https://stackblitz.com/edit/angular-2ta9ug



Is there ?










share|improve this question
























  • Can you post an example showing your problem? The value should update.

    – ritaj
    Nov 15 '18 at 9:02











  • If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

    – Raziza O
    Nov 15 '18 at 9:04











  • You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

    – ritaj
    Nov 15 '18 at 9:08











  • I've added the example link to the post

    – Raziza O
    Nov 15 '18 at 9:23











  • Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

    – ritaj
    Nov 15 '18 at 9:52















1















Before, I know it is kind of stupid question but i'm interested of finding answer (Don't vote down :))



I used to have this problem with angularJS and now I'm learning angular 6 and hoped there is a solution for it (which I haven't found yet)



I've created 2 custom components. The father gets an object for binding and gives its property to the son component.



For ex.



Son Component



<div> value </div>


Father Component



<div>
<son-component [value]="config.configSonValue"></son-component>
</div>


Usage of Father



<father-component [config]="myConfig"></father-component>


I'm skipping the code because it is not relevant to the question.



This is the myConfig value



this.sonValue = 1;
const myConfig =
configSonValue: this.sonValue // This line is the problem - loosing the reference



This makes the application run and show the 1.
But if i'm changing the value in my this.sonValue is not affecting the UI.



It makes sense cause the moment i'm setting the value of configSonValue the value from this.sonValue is being copied and not referenced while its primitive type.



Today i'm asking the user to provide me the scope object and the name of the variable he wants to bind.. and in the binding i'm doing scope[name].



I hoped there is something like



const myConfig = 
configSonValue: angular.copyRef(this.sonValue) // wishful solution



Here is an example https://stackblitz.com/edit/angular-2ta9ug



Is there ?










share|improve this question
























  • Can you post an example showing your problem? The value should update.

    – ritaj
    Nov 15 '18 at 9:02











  • If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

    – Raziza O
    Nov 15 '18 at 9:04











  • You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

    – ritaj
    Nov 15 '18 at 9:08











  • I've added the example link to the post

    – Raziza O
    Nov 15 '18 at 9:23











  • Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

    – ritaj
    Nov 15 '18 at 9:52













1












1








1








Before, I know it is kind of stupid question but i'm interested of finding answer (Don't vote down :))



I used to have this problem with angularJS and now I'm learning angular 6 and hoped there is a solution for it (which I haven't found yet)



I've created 2 custom components. The father gets an object for binding and gives its property to the son component.



For ex.



Son Component



<div> value </div>


Father Component



<div>
<son-component [value]="config.configSonValue"></son-component>
</div>


Usage of Father



<father-component [config]="myConfig"></father-component>


I'm skipping the code because it is not relevant to the question.



This is the myConfig value



this.sonValue = 1;
const myConfig =
configSonValue: this.sonValue // This line is the problem - loosing the reference



This makes the application run and show the 1.
But if i'm changing the value in my this.sonValue is not affecting the UI.



It makes sense cause the moment i'm setting the value of configSonValue the value from this.sonValue is being copied and not referenced while its primitive type.



Today i'm asking the user to provide me the scope object and the name of the variable he wants to bind.. and in the binding i'm doing scope[name].



I hoped there is something like



const myConfig = 
configSonValue: angular.copyRef(this.sonValue) // wishful solution



Here is an example https://stackblitz.com/edit/angular-2ta9ug



Is there ?










share|improve this question
















Before, I know it is kind of stupid question but i'm interested of finding answer (Don't vote down :))



I used to have this problem with angularJS and now I'm learning angular 6 and hoped there is a solution for it (which I haven't found yet)



I've created 2 custom components. The father gets an object for binding and gives its property to the son component.



For ex.



Son Component



<div> value </div>


Father Component



<div>
<son-component [value]="config.configSonValue"></son-component>
</div>


Usage of Father



<father-component [config]="myConfig"></father-component>


I'm skipping the code because it is not relevant to the question.



This is the myConfig value



this.sonValue = 1;
const myConfig =
configSonValue: this.sonValue // This line is the problem - loosing the reference



This makes the application run and show the 1.
But if i'm changing the value in my this.sonValue is not affecting the UI.



It makes sense cause the moment i'm setting the value of configSonValue the value from this.sonValue is being copied and not referenced while its primitive type.



Today i'm asking the user to provide me the scope object and the name of the variable he wants to bind.. and in the binding i'm doing scope[name].



I hoped there is something like



const myConfig = 
configSonValue: angular.copyRef(this.sonValue) // wishful solution



Here is an example https://stackblitz.com/edit/angular-2ta9ug



Is there ?







angular






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 15 '18 at 9:23







Raziza O

















asked Nov 15 '18 at 8:57









Raziza ORaziza O

755723




755723












  • Can you post an example showing your problem? The value should update.

    – ritaj
    Nov 15 '18 at 9:02











  • If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

    – Raziza O
    Nov 15 '18 at 9:04











  • You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

    – ritaj
    Nov 15 '18 at 9:08











  • I've added the example link to the post

    – Raziza O
    Nov 15 '18 at 9:23











  • Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

    – ritaj
    Nov 15 '18 at 9:52

















  • Can you post an example showing your problem? The value should update.

    – ritaj
    Nov 15 '18 at 9:02











  • If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

    – Raziza O
    Nov 15 '18 at 9:04











  • You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

    – ritaj
    Nov 15 '18 at 9:08











  • I've added the example link to the post

    – Raziza O
    Nov 15 '18 at 9:23











  • Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

    – ritaj
    Nov 15 '18 at 9:52
















Can you post an example showing your problem? The value should update.

– ritaj
Nov 15 '18 at 9:02





Can you post an example showing your problem? The value should update.

– ritaj
Nov 15 '18 at 9:02













If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

– Raziza O
Nov 15 '18 at 9:04





If i'm changing the this.sonValue it is not updating the value of myConfig.configSonValue.. cause they are 2 different variables now.. It is more js question then angular actually.. Do you still want me to create some demo for it ?

– Raziza O
Nov 15 '18 at 9:04













You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

– ritaj
Nov 15 '18 at 9:08





You're not binding to a primitive, you're binding to a component prop. It's bound by reference. So yeah, demo would help.

– ritaj
Nov 15 '18 at 9:08













I've added the example link to the post

– Raziza O
Nov 15 '18 at 9:23





I've added the example link to the post

– Raziza O
Nov 15 '18 at 9:23













Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

– ritaj
Nov 15 '18 at 9:52





Well, I guess I was wrong. You could wrap your primitive in object and then it will be passed by reference. I don't know about any copyReference or like method in Ng2

– ritaj
Nov 15 '18 at 9:52












0






active

oldest

votes











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
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315643%2fhow-to-make-primitive-type-reference-for-binding%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes















draft saved

draft discarded
















































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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53315643%2fhow-to-make-primitive-type-reference-for-binding%23new-answer', 'question_page');

);

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







這個網誌中的熱門文章

Barbados

How to read a connectionString WITH PROVIDER in .NET Core?

Node.js Script on GitHub Pages or Amazon S3