AUR0712
Template compilation error: Bindable property and attribute needs to be unique; found property: xxxx, attribute: yyyy
Error message
Template compilation error: Bindable property and attribute needs to be unique; found property: {{0}}, attribute: {{1}}
Parameters
propertyName
: The name specified in theproperty
attribute of the<bindable>
tag.attributeName
: The name specified in theattribute
attribute of the<bindable>
tag (orundefined
if not specified).
Error explanation
This error occurs during template compilation when defining bindable properties for a local element using the <bindable>
tag. It indicates that either the specified property
name or the specified attribute
name (if provided) has already been used by another <bindable>
tag within the same local element definition (<template as-custom-element="...">
). Both property names and attribute names must be unique for a single local element.
Common causes
Defining two
<bindable>
tags with the sameproperty
attribute value within the same<template as-custom-element="...">
.Defining two
<bindable>
tags with the sameattribute
attribute value within the same<template as-custom-element="...">
.
How to fix
Review the
<bindable>
tags within the specified local element definition.Ensure that each
property
attribute value is unique across all<bindable>
tags for that local element.Ensure that each
attribute
attribute value (if specified) is unique across all<bindable>
tags for that local element.Rename or remove the duplicate property or attribute definition.
Example of Incorrect Usage:
<!-- my-component.html -->
<template>
<local-element message="Hi" data="Test"></local-element>
<template as-custom-element="local-element">
<!-- Error: Duplicate property name "message" -->
<bindable property="message"></bindable>
<bindable property="message"></bindable>
<!-- Error: Duplicate attribute name "data-attr" -->
<bindable property="data1" attribute="data-attr"></bindable>
<bindable property="data2" attribute="data-attr"></bindable>
<span>${message} ${data1} ${data2}</span>
</template>
</template>
Example of Correct Usage:
<!-- my-component.html -->
<template>
<local-element message="Hi" data-value="Test"></local-element>
<template as-custom-element="local-element">
<!-- Correct: Unique property and attribute names -->
<bindable property="message"></bindable>
<bindable property="dataValue" attribute="data-value"></bindable>
<span>${message} ${dataValue}</span>
</template>
</template>
Last updated
Was this helpful?