Aurelia DataChanged 未在自定义元素中触发
Aurelia DataChanged Not Firing in Custom Element
我正在尝试观察更改的数据,但它似乎不起作用。我正在做的是在调用此自定义元素的视图模型中通过 redux 更改状态对象。
import React from 'react';
import ReactDOM from 'react-dom';
import { customElement, inject, bindable, noView } from 'aurelia-framework';
import Groups from './groups-react/groups-container.jsx';
@noView()
@inject(Element)
@bindable('state')
@bindable('modalService')
@bindable('childViewState')
@customElement('groups-react-element')
export class GroupsReactElement {
reactComponent = {};
constructor(element) {
this.element = element;
}
render() {
this.reactComponent = ReactDOM.render(<Groups state={this.state} modalService={this.modalService} childViewState={this.childViewState}/>, this.element);
}
bind() {
this.render();
}
unbind() {
ReactDOM.unmountComponentAtNode(this.element);
}
dataChanged(newVal) {
this.bind();
}
}
当我在我的视图模型中更改状态对象(完全替换它)时,尽管从未在此自定义元素中触发 dataChanged。
class 上没有 data
属性。如果你想在 state
属性 改变时得到通知,那么你需要将函数命名为 stateChanged
.
我正在尝试观察更改的数据,但它似乎不起作用。我正在做的是在调用此自定义元素的视图模型中通过 redux 更改状态对象。
import React from 'react';
import ReactDOM from 'react-dom';
import { customElement, inject, bindable, noView } from 'aurelia-framework';
import Groups from './groups-react/groups-container.jsx';
@noView()
@inject(Element)
@bindable('state')
@bindable('modalService')
@bindable('childViewState')
@customElement('groups-react-element')
export class GroupsReactElement {
reactComponent = {};
constructor(element) {
this.element = element;
}
render() {
this.reactComponent = ReactDOM.render(<Groups state={this.state} modalService={this.modalService} childViewState={this.childViewState}/>, this.element);
}
bind() {
this.render();
}
unbind() {
ReactDOM.unmountComponentAtNode(this.element);
}
dataChanged(newVal) {
this.bind();
}
}
当我在我的视图模型中更改状态对象(完全替换它)时,尽管从未在此自定义元素中触发 dataChanged。
class 上没有 data
属性。如果你想在 state
属性 改变时得到通知,那么你需要将函数命名为 stateChanged
.