Skip to content

ViewChild/ ElementRef gets server side elements instances instead of client side. #65

Open
@ktersius

Description

@ktersius

If you inject any elements into your component with ViewChild or ElementRef the nativeElements are the hidden server side rendered elements instead of the client side rendered elements.

This happens because the components are instantiated before preboot can clean up the DOM to give the user a nice transition from server to client rendered html.

I suspect angular assumes there are only one instance of specific DOM elements and then selects the first one in the DOM which are in fact at this point in time the hidden server side rendered elements.

ANOTHER possibility is that it's getting the correct elements but because they are display:none they have no heights etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions