lit-element: how to efficiently share a property from parent to child custom element The 2019 Stack Overflow Developer Survey Results Are InHow to efficiently count the number of keys/properties of an object in JavaScript?How do I remove a property from a JavaScript object?How do I remove a particular element from an array in JavaScript?How to toggle properties using an ASP.NET checkbox and javascript?Call child method from parentUpdate parent component property from child component in Angular 2Data not propagated from parent to child componentHow exactly works this Angular 5 example handling comunication between a parent and child component?Lit-Element doesn't let me set property value in htmlHow to set/override Lit-Element typescript property decorator by parsing value in index.html custom element?

aging parents with no investments

Is bread bad for ducks?

How long do I have to send payment?

What do hard-Brexiteers want with respect to the Irish border?

JSON.serialize: is it possible to suppress null values of a map?

Inflated grade on resume at previous job, might former employer tell new employer?

Is domain driven design an anti-SQL pattern?

Why don't Unix/Linux systems traverse through directories until they find the required version of a linked library?

Is "plugging out" electronic devices an American expression?

How to manage monthly salary

If Wish Duplicates Simulacrum, Are Existing Duplicates Destroyed?

Evaluating number of iteration with a certain map with While

It's possible to achieve negative score?

Where to refill my bottle in India?

Deadlock Graph and Interpretation, solution to avoid

What does "rabbited" mean/imply in this sentence?

Manuscript was "unsubmitted" because the manuscript was deposited in Arxiv Preprints

On the insanity of kings as an argument against Monarchy

Does a dangling wire really electrocute me if I'm standing in water?

Access elements in std::string where positon of string is greater than its size

Seven sins, seven Wizards, seven symbols, seven times repeated, but six super-heroes

Should I use my personal or workplace e-mail when registering to external websites for work purpose?

What could be the right powersource for 15 seconds lifespan disposable giant chainsaw?

How can I fix this gap between bookcases I made?



lit-element: how to efficiently share a property from parent to child custom element



The 2019 Stack Overflow Developer Survey Results Are InHow to efficiently count the number of keys/properties of an object in JavaScript?How do I remove a property from a JavaScript object?How do I remove a particular element from an array in JavaScript?How to toggle properties using an ASP.NET checkbox and javascript?Call child method from parentUpdate parent component property from child component in Angular 2Data not propagated from parent to child componentHow exactly works this Angular 5 example handling comunication between a parent and child component?Lit-Element doesn't let me set property value in htmlHow to set/override Lit-Element typescript property decorator by parsing value in index.html custom element?



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








3















Question: Is there a way to propagate a property change to a child element without triggering its render function? Currently when I update the property in parent's switchViewModeHandler it triggers a re-render on the child.



Use-case: toggling the parent into 'edit' mode should toggle the same for all of its children as well.



Doubt: Should I use custom events? Problem is that it will be a complex network of nested elements, with events it will become unwieldy to debug pretty quickly (already ran into this issue with Polymer).



Setup: Parent element:



class ParentElement extends LitElement 
@property() viewMode;

constructor()
this.viewMode = ViewMode.editable;


static get properties()
return
viewMode: type: String, reflect: true ,
;


private switchViewModeHandler(event: MouseEvent): void
this.viewMode =
(this.viewMode === ViewMode.editing) ? ViewMode.editable : ViewMode.editing; // update my own edit mode
const options: HTMLElement[] = (Array.from(this.children) as HTMLElement[]);
options.forEach((item: HTMLElement) =>
item.viewMode = this.viewMode;
);


render()
return html`
<p>parent</p><label class="switch-wrapper">toggle edit mode
<input type="checkbox"
?checked="$this.viewMode === ViewMode.editing"
@click="$
(event: MouseEvent): void => this.switchViewModeHandler(event)
"
/>
</label>
<slot></slot><!-- child comes from here -->
`;




Child element:



class ChildElement extends LitElement 
@property() viewMode;

constructor()
super();
this.viewMode = ViewMode.editable;


static get properties()
return
viewMode: type: String, reflect: true ,
;


render()
console.log('child render() called');
return html`
<div class="viewer">child viewer</div>
<div class="editor mode-$this.viewMode">child editor</div>
`;




Markup:



<parent-element>
<child-element data-type="special"></child-element
></parent-element>


Edit mode comes from a simple enum that's imported (omitted here):



export enum ViewMode 
readOnly = 'readOnly',
editable = 'editable',
editing = 'editing',



Here's a Codesandbox to play with: https://codesandbox.io/s/v1988qmn75










share|improve this question




























    3















    Question: Is there a way to propagate a property change to a child element without triggering its render function? Currently when I update the property in parent's switchViewModeHandler it triggers a re-render on the child.



    Use-case: toggling the parent into 'edit' mode should toggle the same for all of its children as well.



    Doubt: Should I use custom events? Problem is that it will be a complex network of nested elements, with events it will become unwieldy to debug pretty quickly (already ran into this issue with Polymer).



    Setup: Parent element:



    class ParentElement extends LitElement 
    @property() viewMode;

    constructor()
    this.viewMode = ViewMode.editable;


    static get properties()
    return
    viewMode: type: String, reflect: true ,
    ;


    private switchViewModeHandler(event: MouseEvent): void
    this.viewMode =
    (this.viewMode === ViewMode.editing) ? ViewMode.editable : ViewMode.editing; // update my own edit mode
    const options: HTMLElement[] = (Array.from(this.children) as HTMLElement[]);
    options.forEach((item: HTMLElement) =>
    item.viewMode = this.viewMode;
    );


    render()
    return html`
    <p>parent</p><label class="switch-wrapper">toggle edit mode
    <input type="checkbox"
    ?checked="$this.viewMode === ViewMode.editing"
    @click="$
    (event: MouseEvent): void => this.switchViewModeHandler(event)
    "
    />
    </label>
    <slot></slot><!-- child comes from here -->
    `;




    Child element:



    class ChildElement extends LitElement 
    @property() viewMode;

    constructor()
    super();
    this.viewMode = ViewMode.editable;


    static get properties()
    return
    viewMode: type: String, reflect: true ,
    ;


    render()
    console.log('child render() called');
    return html`
    <div class="viewer">child viewer</div>
    <div class="editor mode-$this.viewMode">child editor</div>
    `;




    Markup:



    <parent-element>
    <child-element data-type="special"></child-element
    ></parent-element>


    Edit mode comes from a simple enum that's imported (omitted here):



    export enum ViewMode 
    readOnly = 'readOnly',
    editable = 'editable',
    editing = 'editing',



    Here's a Codesandbox to play with: https://codesandbox.io/s/v1988qmn75










    share|improve this question
























      3












      3








      3


      1






      Question: Is there a way to propagate a property change to a child element without triggering its render function? Currently when I update the property in parent's switchViewModeHandler it triggers a re-render on the child.



      Use-case: toggling the parent into 'edit' mode should toggle the same for all of its children as well.



      Doubt: Should I use custom events? Problem is that it will be a complex network of nested elements, with events it will become unwieldy to debug pretty quickly (already ran into this issue with Polymer).



      Setup: Parent element:



      class ParentElement extends LitElement 
      @property() viewMode;

      constructor()
      this.viewMode = ViewMode.editable;


      static get properties()
      return
      viewMode: type: String, reflect: true ,
      ;


      private switchViewModeHandler(event: MouseEvent): void
      this.viewMode =
      (this.viewMode === ViewMode.editing) ? ViewMode.editable : ViewMode.editing; // update my own edit mode
      const options: HTMLElement[] = (Array.from(this.children) as HTMLElement[]);
      options.forEach((item: HTMLElement) =>
      item.viewMode = this.viewMode;
      );


      render()
      return html`
      <p>parent</p><label class="switch-wrapper">toggle edit mode
      <input type="checkbox"
      ?checked="$this.viewMode === ViewMode.editing"
      @click="$
      (event: MouseEvent): void => this.switchViewModeHandler(event)
      "
      />
      </label>
      <slot></slot><!-- child comes from here -->
      `;




      Child element:



      class ChildElement extends LitElement 
      @property() viewMode;

      constructor()
      super();
      this.viewMode = ViewMode.editable;


      static get properties()
      return
      viewMode: type: String, reflect: true ,
      ;


      render()
      console.log('child render() called');
      return html`
      <div class="viewer">child viewer</div>
      <div class="editor mode-$this.viewMode">child editor</div>
      `;




      Markup:



      <parent-element>
      <child-element data-type="special"></child-element
      ></parent-element>


      Edit mode comes from a simple enum that's imported (omitted here):



      export enum ViewMode 
      readOnly = 'readOnly',
      editable = 'editable',
      editing = 'editing',



      Here's a Codesandbox to play with: https://codesandbox.io/s/v1988qmn75










      share|improve this question














      Question: Is there a way to propagate a property change to a child element without triggering its render function? Currently when I update the property in parent's switchViewModeHandler it triggers a re-render on the child.



      Use-case: toggling the parent into 'edit' mode should toggle the same for all of its children as well.



      Doubt: Should I use custom events? Problem is that it will be a complex network of nested elements, with events it will become unwieldy to debug pretty quickly (already ran into this issue with Polymer).



      Setup: Parent element:



      class ParentElement extends LitElement 
      @property() viewMode;

      constructor()
      this.viewMode = ViewMode.editable;


      static get properties()
      return
      viewMode: type: String, reflect: true ,
      ;


      private switchViewModeHandler(event: MouseEvent): void
      this.viewMode =
      (this.viewMode === ViewMode.editing) ? ViewMode.editable : ViewMode.editing; // update my own edit mode
      const options: HTMLElement[] = (Array.from(this.children) as HTMLElement[]);
      options.forEach((item: HTMLElement) =>
      item.viewMode = this.viewMode;
      );


      render()
      return html`
      <p>parent</p><label class="switch-wrapper">toggle edit mode
      <input type="checkbox"
      ?checked="$this.viewMode === ViewMode.editing"
      @click="$
      (event: MouseEvent): void => this.switchViewModeHandler(event)
      "
      />
      </label>
      <slot></slot><!-- child comes from here -->
      `;




      Child element:



      class ChildElement extends LitElement 
      @property() viewMode;

      constructor()
      super();
      this.viewMode = ViewMode.editable;


      static get properties()
      return
      viewMode: type: String, reflect: true ,
      ;


      render()
      console.log('child render() called');
      return html`
      <div class="viewer">child viewer</div>
      <div class="editor mode-$this.viewMode">child editor</div>
      `;




      Markup:



      <parent-element>
      <child-element data-type="special"></child-element
      ></parent-element>


      Edit mode comes from a simple enum that's imported (omitted here):



      export enum ViewMode 
      readOnly = 'readOnly',
      editable = 'editable',
      editing = 'editing',



      Here's a Codesandbox to play with: https://codesandbox.io/s/v1988qmn75







      javascript typescript lit-element lit-html






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 14 at 21:22









      montrealistmontrealist

      3,07183953




      3,07183953






















          1 Answer
          1






          active

          oldest

          votes


















          3














          Propagating state to light DOM children is a relatively rarely needed pattern, so we don't have it documented well yet, but there are some cases like yours where it's necessary.



          The right approach really depends on how controlled the children of the container element are. If you, the author of the parent element, also are the only user of it, and so know exactly what the children can be, then you have some more flexibility.



          Options I can think of are:



          • Always set a property on the child, regardless of type. This is like if you had a <child prop=$x></child> syntax available in lit-html.

          • Fire an event on the children. This is very decoupled, but more cost for little benefit if you don't have children from third parties.

          • Have children register with the parent. More responsibility on the child, but takes advantage of the child's lifecycles to subscribe to state changes.

          I'd say your approach to set child state in an event handler isn't far off, except that it's too tied to the user interaction event and not the state itself.



          I'd go for something where you always update state in updated():



          class ParentElement extends LitElement 
          @property( type: String, reflect: true )
          viewMode = ViewMode.editable;

          private _onSwitchClicked(event: MouseEvent): void
          this.viewMode = (this.viewMode === ViewMode.editing)
          ? ViewMode.editable
          : ViewMode.editing;


          private _onSlotChange()
          this.requestUpdate();


          updated()
          for (const child of Array.from(this.children))
          child.viewMode = this.viewMode;



          render()
          return html`
          <p>parent</p>
          <label class="switch-wrapper">toggle edit mode
          <input type="checkbox"
          ?checked=$this.viewMode === ViewMode.editing
          @click=$this._onSwitchClicked>
          </label>
          <slot @slotchange=$this._onSlotChange></slot>
          `;




          If the children are LitElements and the values are primitives, it's ok to always set the properties - they'll be dirty checked in the children.



          Note the slotchange event handler on <slot> so we can observe the children.






          share|improve this answer

























          • I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

            – Justin Fagnani
            Mar 17 at 23:17












          • excellent answer, thank you for taking such thorough look!

            – montrealist
            Mar 19 at 21:21











          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%2f55172223%2flit-element-how-to-efficiently-share-a-property-from-parent-to-child-custom-ele%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









          3














          Propagating state to light DOM children is a relatively rarely needed pattern, so we don't have it documented well yet, but there are some cases like yours where it's necessary.



          The right approach really depends on how controlled the children of the container element are. If you, the author of the parent element, also are the only user of it, and so know exactly what the children can be, then you have some more flexibility.



          Options I can think of are:



          • Always set a property on the child, regardless of type. This is like if you had a <child prop=$x></child> syntax available in lit-html.

          • Fire an event on the children. This is very decoupled, but more cost for little benefit if you don't have children from third parties.

          • Have children register with the parent. More responsibility on the child, but takes advantage of the child's lifecycles to subscribe to state changes.

          I'd say your approach to set child state in an event handler isn't far off, except that it's too tied to the user interaction event and not the state itself.



          I'd go for something where you always update state in updated():



          class ParentElement extends LitElement 
          @property( type: String, reflect: true )
          viewMode = ViewMode.editable;

          private _onSwitchClicked(event: MouseEvent): void
          this.viewMode = (this.viewMode === ViewMode.editing)
          ? ViewMode.editable
          : ViewMode.editing;


          private _onSlotChange()
          this.requestUpdate();


          updated()
          for (const child of Array.from(this.children))
          child.viewMode = this.viewMode;



          render()
          return html`
          <p>parent</p>
          <label class="switch-wrapper">toggle edit mode
          <input type="checkbox"
          ?checked=$this.viewMode === ViewMode.editing
          @click=$this._onSwitchClicked>
          </label>
          <slot @slotchange=$this._onSlotChange></slot>
          `;




          If the children are LitElements and the values are primitives, it's ok to always set the properties - they'll be dirty checked in the children.



          Note the slotchange event handler on <slot> so we can observe the children.






          share|improve this answer

























          • I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

            – Justin Fagnani
            Mar 17 at 23:17












          • excellent answer, thank you for taking such thorough look!

            – montrealist
            Mar 19 at 21:21















          3














          Propagating state to light DOM children is a relatively rarely needed pattern, so we don't have it documented well yet, but there are some cases like yours where it's necessary.



          The right approach really depends on how controlled the children of the container element are. If you, the author of the parent element, also are the only user of it, and so know exactly what the children can be, then you have some more flexibility.



          Options I can think of are:



          • Always set a property on the child, regardless of type. This is like if you had a <child prop=$x></child> syntax available in lit-html.

          • Fire an event on the children. This is very decoupled, but more cost for little benefit if you don't have children from third parties.

          • Have children register with the parent. More responsibility on the child, but takes advantage of the child's lifecycles to subscribe to state changes.

          I'd say your approach to set child state in an event handler isn't far off, except that it's too tied to the user interaction event and not the state itself.



          I'd go for something where you always update state in updated():



          class ParentElement extends LitElement 
          @property( type: String, reflect: true )
          viewMode = ViewMode.editable;

          private _onSwitchClicked(event: MouseEvent): void
          this.viewMode = (this.viewMode === ViewMode.editing)
          ? ViewMode.editable
          : ViewMode.editing;


          private _onSlotChange()
          this.requestUpdate();


          updated()
          for (const child of Array.from(this.children))
          child.viewMode = this.viewMode;



          render()
          return html`
          <p>parent</p>
          <label class="switch-wrapper">toggle edit mode
          <input type="checkbox"
          ?checked=$this.viewMode === ViewMode.editing
          @click=$this._onSwitchClicked>
          </label>
          <slot @slotchange=$this._onSlotChange></slot>
          `;




          If the children are LitElements and the values are primitives, it's ok to always set the properties - they'll be dirty checked in the children.



          Note the slotchange event handler on <slot> so we can observe the children.






          share|improve this answer

























          • I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

            – Justin Fagnani
            Mar 17 at 23:17












          • excellent answer, thank you for taking such thorough look!

            – montrealist
            Mar 19 at 21:21













          3












          3








          3







          Propagating state to light DOM children is a relatively rarely needed pattern, so we don't have it documented well yet, but there are some cases like yours where it's necessary.



          The right approach really depends on how controlled the children of the container element are. If you, the author of the parent element, also are the only user of it, and so know exactly what the children can be, then you have some more flexibility.



          Options I can think of are:



          • Always set a property on the child, regardless of type. This is like if you had a <child prop=$x></child> syntax available in lit-html.

          • Fire an event on the children. This is very decoupled, but more cost for little benefit if you don't have children from third parties.

          • Have children register with the parent. More responsibility on the child, but takes advantage of the child's lifecycles to subscribe to state changes.

          I'd say your approach to set child state in an event handler isn't far off, except that it's too tied to the user interaction event and not the state itself.



          I'd go for something where you always update state in updated():



          class ParentElement extends LitElement 
          @property( type: String, reflect: true )
          viewMode = ViewMode.editable;

          private _onSwitchClicked(event: MouseEvent): void
          this.viewMode = (this.viewMode === ViewMode.editing)
          ? ViewMode.editable
          : ViewMode.editing;


          private _onSlotChange()
          this.requestUpdate();


          updated()
          for (const child of Array.from(this.children))
          child.viewMode = this.viewMode;



          render()
          return html`
          <p>parent</p>
          <label class="switch-wrapper">toggle edit mode
          <input type="checkbox"
          ?checked=$this.viewMode === ViewMode.editing
          @click=$this._onSwitchClicked>
          </label>
          <slot @slotchange=$this._onSlotChange></slot>
          `;




          If the children are LitElements and the values are primitives, it's ok to always set the properties - they'll be dirty checked in the children.



          Note the slotchange event handler on <slot> so we can observe the children.






          share|improve this answer















          Propagating state to light DOM children is a relatively rarely needed pattern, so we don't have it documented well yet, but there are some cases like yours where it's necessary.



          The right approach really depends on how controlled the children of the container element are. If you, the author of the parent element, also are the only user of it, and so know exactly what the children can be, then you have some more flexibility.



          Options I can think of are:



          • Always set a property on the child, regardless of type. This is like if you had a <child prop=$x></child> syntax available in lit-html.

          • Fire an event on the children. This is very decoupled, but more cost for little benefit if you don't have children from third parties.

          • Have children register with the parent. More responsibility on the child, but takes advantage of the child's lifecycles to subscribe to state changes.

          I'd say your approach to set child state in an event handler isn't far off, except that it's too tied to the user interaction event and not the state itself.



          I'd go for something where you always update state in updated():



          class ParentElement extends LitElement 
          @property( type: String, reflect: true )
          viewMode = ViewMode.editable;

          private _onSwitchClicked(event: MouseEvent): void
          this.viewMode = (this.viewMode === ViewMode.editing)
          ? ViewMode.editable
          : ViewMode.editing;


          private _onSlotChange()
          this.requestUpdate();


          updated()
          for (const child of Array.from(this.children))
          child.viewMode = this.viewMode;



          render()
          return html`
          <p>parent</p>
          <label class="switch-wrapper">toggle edit mode
          <input type="checkbox"
          ?checked=$this.viewMode === ViewMode.editing
          @click=$this._onSwitchClicked>
          </label>
          <slot @slotchange=$this._onSlotChange></slot>
          `;




          If the children are LitElements and the values are primitives, it's ok to always set the properties - they'll be dirty checked in the children.



          Note the slotchange event handler on <slot> so we can observe the children.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Mar 22 at 2:33

























          answered Mar 17 at 23:16









          Justin FagnaniJustin Fagnani

          5,2501127




          5,2501127












          • I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

            – Justin Fagnani
            Mar 17 at 23:17












          • excellent answer, thank you for taking such thorough look!

            – montrealist
            Mar 19 at 21:21

















          • I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

            – Justin Fagnani
            Mar 17 at 23:17












          • excellent answer, thank you for taking such thorough look!

            – montrealist
            Mar 19 at 21:21
















          I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

          – Justin Fagnani
          Mar 17 at 23:17






          I also cleaned up a few other things in your example: - Local event handlers using @ don't need to be bound or arrow functions. Method work fine and have slightly lower costs. - You don't need quotes around bindings, unless it's an interpolation. - You can declare property options in the decorator. - You can initialize a field in its declaration, you don't need a constructor.

          – Justin Fagnani
          Mar 17 at 23:17














          excellent answer, thank you for taking such thorough look!

          – montrealist
          Mar 19 at 21:21





          excellent answer, thank you for taking such thorough look!

          – montrealist
          Mar 19 at 21:21



















          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%2f55172223%2flit-element-how-to-efficiently-share-a-property-from-parent-to-child-custom-ele%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

          SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

          위키백과:대문 둘러보기 메뉴기부 안내모바일판 대문크리에이티브 커먼즈 저작자표시-동일조건변경허락 3.0CebuanoDeutschEnglishEspañolFrançaisItaliano日本語NederlandsPolskiPortuguêsРусскийSvenskaTiếng ViệtWinaray中文العربيةCatalàفارسیSrpskiУкраїнськаБългарскиНохчийнČeštinaDanskEsperantoEuskaraSuomiעבריתMagyarՀայերենBahasa IndonesiaҚазақшаBaso MinangkabauBahasa MelayuBân-lâm-gúNorskRomânăSrpskohrvatskiSlovenčinaTürkçe

          용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh