- Extends SyntaxInterpreter of default Binding Language implementation with commands
.style(same with.style-to-view,.style-one-waybut shorter),.style-one-time,.style-two-way,.style-from-viewto bind to a single css rule of an element.
- Install the dependency
npm install aurelia-style-binding-command-plugin
- Import the module for side effect (auto extension)
// app-entry.js
import 'aurelia-style-binding-command-plugin';- After installing dependencies, run
build
npm run build
npm run test
- The
.style-*binding commands instruct Aurelia to observe view model and assign new value to css property, like standard behavior of an Aurelia binding..style-from-viewand.style-two-waywork viaMutationObserver, that detects change onstyleattribute of observed element.
- Normal usage looks like this:
<div background-color.style='background'></div>- The following syntax could be made to work:
<div style.background-color='background'></div>The former is predictable, it follows the [attribute-name].[binding-command]=[expression] pattern that you see everywhere in an Aurelia application. The later is a more natural syntax for reading, as background-color is a property of style property of the element. If you think why it should be supported, please help file an issue.