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.