如何在命名空间内使用装饰器:MobX

时间:2017-05-24 15:52:11

标签: javascript mobx

我在客户端代码中使用MobX,如下所示:

<script src="/js/mobx.umd.js"></script>
<script src="/js/mobx-react/index.min.js"></script>

现在当我想实际使用如下的MobX时,它不起作用,即我的客户端用户界面不会对可观察变量的变化作出反应:

const action=window.mobx.action
const observable=window.mobx.observable

class Store {

    @observable isLoggedIn=false;
    @action setIsLoggedIn=(tf)=>{this.isLoggedIn=tf}
}

我想知道如何在ES6中实际使用window.mobx.actionwindow.mobx.observable

之前我正在使用MobX和NPM,如下所示,它运行良好:

import { action, observable } from 'mobx'

2 个答案:

答案 0 :(得分:1)

装饰器只能通过babel / typescript的翻译来支持。有关ES5语法,请参阅https://mobx.js.org/best/decorators.html

答案 1 :(得分:0)

class Store {
   isLoggedIn = observable(false);
   setIsLoggedIn= action((tf)=>{this.isLoggedIn=tf});
}