Dojo data-dojo-props 在 javascript 对象内时不会绑定到模型

Dojo data-dojo-props won't bind to model when it's inside a javascript object

在 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

我哪里做错了 - 或者我想做的事情是不可能的?

不远... - 你必须更明确地告诉 dojo 模型在哪里 - 我的方法是在 parser.parse().

中使用 propsThis 参数
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')"