Knockout js : Read parent of parent's data





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}







2















I want to read the parent of parent elements data. But, I can't able to read it properly.



My Array Screenshot :



enter image description here



My Code :



<!-- ko foreach: { data: Object.keys($parent.optionParam()[main_id]), as: 'attribute' } -->
<div class="product-custom-option-select">
<p style="font-weight:bold;color:blue" data-bind="text:attribute"></p>
<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->
<p style="font-weight:bold;color:green" data-bind="text:attribute"></p>
<!-- ko foreach: $parents[1].optionParam[$parentContext.$index()][attribute] -->
<p class="options-label" data-bind="text:sub_id"></p>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: !Array.isArray($parent.optionParam()[$index][attribute]) -->
<p style="font-weight:bold;color:red" data-bind="text:attribute"></p>
<p class="options-label" data-bind="text:attribute[$parents[1].main_id]"></p>
<!-- /ko -->
</div>
<!-- /ko -->


Using $parent.optionParam()[main_id] I can able to access 0 element array. So, in first <p> tag I get Size text as attribute.



Now, I want to read there are sub-element available in Size or Color, If true then, First Array.isArray() should be true and I can able to read sub_color or sub_id field value.



<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->


This line always returns an error to me.



How can I read it?



Any help would be appreciated.










share|improve this question

























  • Did you have a look at my answer? Did it solve your query?

    – Vivek Kumar
    yesterday


















2















I want to read the parent of parent elements data. But, I can't able to read it properly.



My Array Screenshot :



enter image description here



My Code :



<!-- ko foreach: { data: Object.keys($parent.optionParam()[main_id]), as: 'attribute' } -->
<div class="product-custom-option-select">
<p style="font-weight:bold;color:blue" data-bind="text:attribute"></p>
<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->
<p style="font-weight:bold;color:green" data-bind="text:attribute"></p>
<!-- ko foreach: $parents[1].optionParam[$parentContext.$index()][attribute] -->
<p class="options-label" data-bind="text:sub_id"></p>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: !Array.isArray($parent.optionParam()[$index][attribute]) -->
<p style="font-weight:bold;color:red" data-bind="text:attribute"></p>
<p class="options-label" data-bind="text:attribute[$parents[1].main_id]"></p>
<!-- /ko -->
</div>
<!-- /ko -->


Using $parent.optionParam()[main_id] I can able to access 0 element array. So, in first <p> tag I get Size text as attribute.



Now, I want to read there are sub-element available in Size or Color, If true then, First Array.isArray() should be true and I can able to read sub_color or sub_id field value.



<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->


This line always returns an error to me.



How can I read it?



Any help would be appreciated.










share|improve this question

























  • Did you have a look at my answer? Did it solve your query?

    – Vivek Kumar
    yesterday














2












2








2








I want to read the parent of parent elements data. But, I can't able to read it properly.



My Array Screenshot :



enter image description here



My Code :



<!-- ko foreach: { data: Object.keys($parent.optionParam()[main_id]), as: 'attribute' } -->
<div class="product-custom-option-select">
<p style="font-weight:bold;color:blue" data-bind="text:attribute"></p>
<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->
<p style="font-weight:bold;color:green" data-bind="text:attribute"></p>
<!-- ko foreach: $parents[1].optionParam[$parentContext.$index()][attribute] -->
<p class="options-label" data-bind="text:sub_id"></p>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: !Array.isArray($parent.optionParam()[$index][attribute]) -->
<p style="font-weight:bold;color:red" data-bind="text:attribute"></p>
<p class="options-label" data-bind="text:attribute[$parents[1].main_id]"></p>
<!-- /ko -->
</div>
<!-- /ko -->


Using $parent.optionParam()[main_id] I can able to access 0 element array. So, in first <p> tag I get Size text as attribute.



Now, I want to read there are sub-element available in Size or Color, If true then, First Array.isArray() should be true and I can able to read sub_color or sub_id field value.



<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->


This line always returns an error to me.



How can I read it?



Any help would be appreciated.










share|improve this question
















I want to read the parent of parent elements data. But, I can't able to read it properly.



My Array Screenshot :



enter image description here



My Code :



<!-- ko foreach: { data: Object.keys($parent.optionParam()[main_id]), as: 'attribute' } -->
<div class="product-custom-option-select">
<p style="font-weight:bold;color:blue" data-bind="text:attribute"></p>
<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->
<p style="font-weight:bold;color:green" data-bind="text:attribute"></p>
<!-- ko foreach: $parents[1].optionParam[$parentContext.$index()][attribute] -->
<p class="options-label" data-bind="text:sub_id"></p>
<!-- /ko -->
<!-- /ko -->
<!-- ko if: !Array.isArray($parent.optionParam()[$index][attribute]) -->
<p style="font-weight:bold;color:red" data-bind="text:attribute"></p>
<p class="options-label" data-bind="text:attribute[$parents[1].main_id]"></p>
<!-- /ko -->
</div>
<!-- /ko -->


Using $parent.optionParam()[main_id] I can able to access 0 element array. So, in first <p> tag I get Size text as attribute.



Now, I want to read there are sub-element available in Size or Color, If true then, First Array.isArray() should be true and I can able to read sub_color or sub_id field value.



<!-- ko if: Array.isArray(Object.keys($parent.optionParam()[main_id][attribute])) -->


This line always returns an error to me.



How can I read it?



Any help would be appreciated.







magento2 knockoutjs knockout






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited yesterday









Vivek Kumar

2,6122729




2,6122729










asked Jan 28 at 5:31









Emipro Technologies Pvt. Ltd.Emipro Technologies Pvt. Ltd.

2,6721925




2,6721925













  • Did you have a look at my answer? Did it solve your query?

    – Vivek Kumar
    yesterday



















  • Did you have a look at my answer? Did it solve your query?

    – Vivek Kumar
    yesterday

















Did you have a look at my answer? Did it solve your query?

– Vivek Kumar
yesterday





Did you have a look at my answer? Did it solve your query?

– Vivek Kumar
yesterday










1 Answer
1






active

oldest

votes


















0














$parent is essentially an array with all the parents in the current context.



So $parent or $parent[0] refers to immediate parent, $parent[1] will refer to grandparent or parent of parent and so on.






share|improve this answer
























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "479"
    };
    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: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    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%2fmagento.stackexchange.com%2fquestions%2f259419%2fknockout-js-read-parent-of-parents-data%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









    0














    $parent is essentially an array with all the parents in the current context.



    So $parent or $parent[0] refers to immediate parent, $parent[1] will refer to grandparent or parent of parent and so on.






    share|improve this answer




























      0














      $parent is essentially an array with all the parents in the current context.



      So $parent or $parent[0] refers to immediate parent, $parent[1] will refer to grandparent or parent of parent and so on.






      share|improve this answer


























        0












        0








        0







        $parent is essentially an array with all the parents in the current context.



        So $parent or $parent[0] refers to immediate parent, $parent[1] will refer to grandparent or parent of parent and so on.






        share|improve this answer













        $parent is essentially an array with all the parents in the current context.



        So $parent or $parent[0] refers to immediate parent, $parent[1] will refer to grandparent or parent of parent and so on.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 days ago









        Vivek KumarVivek Kumar

        2,6122729




        2,6122729






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Magento Stack Exchange!


            • 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%2fmagento.stackexchange.com%2fquestions%2f259419%2fknockout-js-read-parent-of-parents-data%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







            Popular posts from this blog

            What other Star Trek series did the main TNG cast show up in?

            Berlina muro

            Berlina aerponto