Skip to content

Invalid <progress :value="1/0"></progress> breaks Vue #9459

Closed
@matthiasg

Description

@matthiasg

Version

2.6.3

Reproduction link

https://jsfiddle.net/mgoetzke/bsku79er/7/

Steps to reproduce

See https://jsfiddle.net/mgoetzke/bsku79er/7/. Once 'Break It' is pressed the application is not updating anything anymore. A runtime exception during render essentially killed it without any good way to handle it.

Whenever a progress elements value is set to NaN, the Error TypeError: "Value being assigned to HTMLProgressElement.value is not a finite floating-point value." is being listed in the console, but somehow instead of just handling this render error (handled by standard component error handler) the component and the entire application is permanently damaged after this.

Of course the developer should foresee this and write it with the appropriate defensiveness, but runtime errors inside the render function of a component should not invisibly leave the entire application in a non-reactive state.

EDIT: Updated source of console message

What is expected?

Handle this as a standard render exception.

What is actually happening?

Vue is not reactive anymore. Eg.no button has any effect anymore.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions