当dojo data-dojo-props在javascript对象中时,它不会绑定到模型

时间:2018-02-23 18:17:46

标签: javascript jsp dojo

在使用dojo完成一些第一步后,我设法使用var model;并将其绑定到带有dojo的输入

require(["dojo/parser"],
  function (parser) {
    model = { myValue:null };
    parser.parse();
  }
);

在我的.jsp中,我有data-dojo-props = "value: at(model, 'myValue')"的输入。 myValue会填充输入值。

现在我尝试将该模型放在一个对象中。

function MyObject() {
  var self = this;
  this.model;
  require(["dojo/parser"],
    function (parser) {
      self.model = { myValue:null };
      parser.parse();
    }
  );
}

在我的.jsp中我有myObject = new MyObject();,输入更改为data-dojo-props = "value: at(self.model, 'myValue')"(当我尝试编写myObject.model时,dojo抱怨,myObject未定义,所以我想require / binding东西的范围是从它声明的位置 - 所以self.myValue似乎是data-dojo-props中正确的东西。

我的问题:在我移动model MyObject之后,输入的值不再绑定到myValue

我做错了什么 - 或者甚至不可能我想做什么?

1 个答案:

答案 0 :(得分:1)

不远处...... - 您必须更明确地告诉dojo模型的位置 - 我的方法是使用propsThis中的parser.parse()参数。

function MyObject() {
  var self = this;
  this.model;
  require(["dojo/parser"],
    function (parser) {
      self.model = { myValue:null };
      parser.parse(propsThis: self);
    }
  );
}

输入有一个data-dojo-props = "value: at(this.model, 'myValue')"