Ember.js 在ember js中加载页面时的Ajax调用

Ember.js 在ember js中加载页面时的Ajax调用,ember.js,Ember.js,我是新的恩伯js技术。我在我的余烬应用程序中面临一些问题。我在我的ember应用程序中有一些文件,如下所示(部分代码如下所示):- sample.hbs <div> <div> {{text-field id="countryid" type="text"}} </div> {{state-component model=model}} </div> sample.js {{#if isFl

我是新的恩伯js技术。我在我的余烬应用程序中面临一些问题。我在我的ember应用程序中有一些文件,如下所示(部分代码如下所示):-

sample.hbs

    <div>
    <div>
    {{text-field id="countryid" type="text"}}
    </div>
    {{state-component model=model}}
    </div>
sample.js

    {{#if isFlag}}
    <div>
    {{text-field id="stateid" type="text"}}
    </div>
    {{else}}
    {{/if}}
    var flag;
    export default Ember.Component.extend({
    isFlag: Ember.computed('flag', function() {
    flag = this.get('model').get('flag');
    return Ember.isEqual(flag, 'true');
})
    })
    export default Ember.Route.extend({ 
    model(){
    return info.create({"flag": ""})
    }});

    afterModel(){
    Ember.$.ajax({    
    url: `${ENV.host}/retrieveInfo`,
    type: 'POST',
    data: `id=geoid`,
    success: (data) => {
      this.modelFor('sample').setProperties({ 
          "flag": data.flag
      });
    }
    }

这里是页面加载retrieveInfo的ajax调用&该标志从webservice调用返回。基于标志值,即如果为真,则只有我必须显示状态文本框。但由于页面呈现第一次和下一次ajax调用发生,我在页面加载上并没有标志值。i、 当状态组件被呈现时,它不包含标志值。我在不同的事件中移动了ajax调用,如willRender()、didRender()。但这没用。有人能给出解决方案吗?我可以将ajax调用放在哪里,以便在我的状态组件中获得标志值?

始终用代码询问您尝试过的问题。如果可能,包括复制。顺便说一下,您不能创建名为
component1
的组件,因为它应该包含
-

认真阅读官方刊物

在示例路线的模型钩子中定义它,它将在settings.hbs中可用

model(){
  return Ember.$.getJSON('url');
}
您可以将模型发送到
my component
,并且可以在
my component
中访问该模型

{{my-component model=model }}

请将问题标题改为更好的。我已更改了我的问题,以便您能够理解。你能看一下吗?