Ember.js 在ember js中加载页面时的Ajax调用
我是新的恩伯js技术。我在我的余烬应用程序中面临一些问题。我在我的ember应用程序中有一些文件,如下所示(部分代码如下所示):- sample.hbsEmber.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
<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 }}
请将问题标题改为更好的。我已更改了我的问题,以便您能够理解。你能看一下吗?