ember jsの新機能です。私は自分の魔法のアプリケーションのいくつかの問題に直面しています。私は(一部のコードは以下のとおりである)以下のように私の燃えさしアプリケーション内のいくつかのファイルがあります: -Ajaxの呼び出しでember jsのロードが発生する
sample.hbs
<div>
<div>
{{text-field id="countryid" type="text"}}
</div>
{{state-component model=model}}
</div>
状態-component.hbs
{{#if isFlag}}
<div>
{{text-field id="stateid" type="text"}}
</div>
{{else}}
{{/if}}
状態コンポーネント.js
var flag;
export default Ember.Component.extend({
isFlag: Ember.computed('flag', function() {
flag = this.get('model').get('flag');
return Ember.isEqual(flag, 'true');
})
})
sample.jsページのロードにここ
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呼び出しは、フラグがWebサービスの呼び出しから返される&起こります。フラグの値に基づいて、つまりtrueの場合、状態テキストボックスのみを表示する必要があります。しかし、最初と次のAJAX呼び出しがレンダリングされるので、私はページの読み込み時にフラグ値を持っていません。すなわち、状態コンポーネントがレンダリングされるとき、フラグ値を含まない。私はwillRender()、didRender()のような異なるイベントでajax呼び出しを移動しました。しかし、それは役に立たなかった。誰かが解決策を与えることができますか?私は私の状態コンポーネントのフラグ値を得ることができるように私はアヤックスコールを置くことができますか?
問題のタイトルをより良いものに変更してください。 –
私はあなたが理解できるように私の質問を変更しました。見ていただけますか? – Gurumurthy