私のアプリケーションでは、angularJSを使用しています。私はすべてを構成しており、それはうまくいっています。しかし私の唯一の懸念は、このコンテンツをロードする前に1つのajaxメソッドを呼び出すことです。私のアプリケーションには、この設定データが非常に必要です。この応答の後、私のアプリケーションだけが動かなければなりません。AngularJs設定メソッド内にコールバックメソッドを書き込む方法
誰かが考えを持っている場合は、お勧めします。前もって感謝します。
私のアプリケーションでは、angularJSを使用しています。私はすべてを構成しており、それはうまくいっています。しかし私の唯一の懸念は、このコンテンツをロードする前に1つのajaxメソッドを呼び出すことです。私のアプリケーションには、この設定データが非常に必要です。この応答の後、私のアプリケーションだけが動かなければなりません。AngularJs設定メソッド内にコールバックメソッドを書き込む方法
誰かが考えを持っている場合は、お勧めします。前もって感謝します。
あなたはいくつかの方法でそれを行うことができます。あなたは、あなたのアプリがブートストラップされる前にリクエストを実行することができます。または基本ルート設定でresolve
を使用することができます。
代わりのng-app
ディレクティブを使用してHTMLファイルにあなたのアプリケーションをブートストラップは、あなたが次のことを実行することができます(推奨)
import AppComponent from './app.component';
function Bootstrap() {
bootstrap(document, ['app'], {
strictDi: true,
});
}
const app = angular
.module('app', [
uiRouter,
])
.component('app', AppComponent);
.name;
function getConfig() {
const initInjector = angular.injector(['ng']);
const $http = initInjector.get('$http');
return $http.get('/api/config')
.then(response => response.data);
}
getConfig()
.then((res) => {
angular
.module(app)
.config(res);
bootstrap();
});
は、私はあなたが角度の使用をお勧め解決します-ui-router version 1.これにより、コンポーネントをロードする前に実行される関数resolve
を呼び出すことができます。あなたのアプリがルート/
をロードすると
function appConfig($stateProvider) {
$stateProvider
.state('app', {
url: '/',
component: 'application',
resolve: {
config: (applicationService) => {
return applicationsService.getConfig();
},
},
})
}
は、それがconfig
解決関数を呼び出して、あなたのコントローラ内部のthis.config
プロパティにデータを返します。
これは、コンポーネントのデータ依存関係を読み込むときには有効ですが、すべてのユーザーがルートページにアクセスするわけではないため、アプリケーションの設定を読み込んでいる場合には最適ではありません。 (すべてのページがapplication
州の子どもであっても動作しますが、
このリンクを参照してくださいhttps://docs.angularjs.org/api/ng/service/$q – Vignesh