This repository was archived by the owner on Nov 22, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 480
This repository was archived by the owner on Nov 22, 2024. It is now read-only.
Rendering Document Error: TypeError: undefined is not a function or str.replace is not a function #483
Copy link
Copy link
Closed
Labels
need: investigationRequires some digging to determine if action is neededRequires some digging to determine if action is needed
Description
Note: for support questions, please use one of these channels: https://github.com/angular/universal/blob/master/CONTRIBUTING.md#question. This repository's issues are reserved for feature requests and bug reports.
- I'm submitting a ...
- bug report
- feature request
- support request => Please do not submit support request here, see note at the top of this template.
- What modules are related to this pull-request
- express-engine
- grunt-prerender
- gulp-prerender
- hapi-engine
- universal-preview
- universal
- webpack-prerender
- Do you want to request a feature or report a bug?
Report a bug
- What is the current behavior?
Note: This is purely guessing, as the error message isn't descriptive enough for us to solve it.
An error is raised in the browser sometime: Rendering Document Error: TypeError: undefined is not a function
or Rendering Document Error: TypeError: str.replace is not a function
.
This (according to code), is probably angular universal trying to serialize an attribute with a falsy value, or not a string.
- If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem by creating a github repo.
Clone universal-starter
, replace home.template.html
by:
<div class="home" [hidden]="foo">
<form #loginForm="ngForm">
<input type="text" placeholder="username" required><br>
<button type="submit" [disabled]="!loginForm.form.valid">Login</button>
</form>
</div>
- What is the expected behavior?
No error
- Please tell us about your environment:
- Angular version: 2.0.0-rc4
- Browser: all
- Language: all
- OS: all
- Platform: NodeJS
- Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
Complete stacktraces:
Rendering Document Error: TypeError: str.replace is not a function
at escapeString (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:27:10)
at Serializer._serializeAttributes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:124:55)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:91:10)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
Rendering Document Error: TypeError: undefined is not a function
at escapeString (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:27:10)
at Serializer._serializeAttributes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:124:55)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:91:10)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
at Serializer._serializeElement (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:114:14)
at Serializer._serializeChildNodes (project\node_modules\angular2-universal\node_modules\parse5\lib\serialization\serializer.js:72:22)
byavv, JayChase, shearssong, saurabh531 and hiepxanh
Metadata
Metadata
Assignees
Labels
need: investigationRequires some digging to determine if action is neededRequires some digging to determine if action is needed