Я изучаю, как работает Aurelia, и я пытаюсь получить простой пользовательский атрибут. Все, что он будет делать, это изменить цвет текста div в зависимости от изменения значения.Пользовательский атрибут в aurelia не работает?
У меня есть DIV, который имеет:
high.bind="changeColor"
и в моем атрибуте у меня есть:
import {inject, customAttribute} from 'aurelia-framework';
@customAttribute('high')
@inject(Element)
export class High {
constructor(element) {
this.element = element;
}
valueChanged(newValue){
console.log(newValue);
if (newValue) {
this.element.classList.remove('highlight-yellow');
} else {
this.element.classList.add('highlight-blue');
}
}
В моей модели представления у меня есть:
import {high} from './highlightattribute'
export class Welcome{
heading = 'Welcome to the Aurelia Navigation App!';
firstName = 'John';
lastName = 'Doe';
get fullName(){
return `${this.firstName} ${this.lastName}`;
}
get changeColor(){
if (this.firstName == 'John'){
return false;
}
return true;
}
welcome(){
alert(`Welcome, ${this.fullName}!`);
}
}
Когда я изменить firstname Я не вижу, как событие valueChanged запускается в классе высоких пользовательских атрибутов.
Большое спасибо Эшли. Мой первый взгляд на Аурелию, поэтому я очень ценю помощь. Для меня больше нет углов :). –