Ionic および AngularJS と 4D バックエンド データベースを使用して、Wakanda Digital App Factory 1.0.3 で構築されたモバイル アプリケーションを開発しています。
2 つの異なる Angular コントローラーを介してアクセスされる 2 つの別個の 4D テーブルを介して、4D-Mobile を通じて利用可能な 2 つの異なる 4D メソッドがあります。
.controller('homeCtrl', function($scope, $wakanda) {
$wakanda.init('servers').then(function(ds) {
ds.servers.www4DMionicHomeOverview().$promise.then(function(event) {
$json = event.result;
$scope.overview = $json.servers;
$scope.healthCheck = $json.healthCheck;
}, function(err) {
debugger
console.log(err);
});
}, function(err) {
debugger
console.log(err);
});
})
.controller('errorLogCtrl', function($scope, $wakanda) {
$wakanda.init('server_log').then(function(ds) {
ds.server_log.www4DMionicErrorLog().$promise.then(function(event) {
$json = event.result;
$scope.errors = $json;
}, function(e) {
debugger
console.log(e);
});
}, function(e) {
debugger
console.log(e);
});
})
これらの 4D メソッドを呼び出すと、どちらを最初に呼び出しても、最初のメソッドは機能しますが、2 番目のメソッドは失敗するという奇妙な問題に気付きました。つまり、最初に呼び出すと機能しますが、ブラウザを更新するまでds.server_log.www4DMionicErrorLog()
後続の呼び出しは失敗します。ds.servers.www4DMionicHomeOverview()
逆もまた真であり、ds.servers.www4DMionicHomeOverview()
最初に呼び出すと機能しますが、後続の呼び出しはds.server_log.www4DMionicErrorLog()
失敗します。
2番目の方法で得られるエラーは次のとおりです。
ionic.bundle.js:25642 TypeError: 未定義のプロパティ 'www4DMionicHomeOverview' を読み取れません
また
ionic.bundle.js:25642 TypeError: 未定義のプロパティ 'www4DMionicErrorLog' を読み取れません
2 つのメソッドのどちらを最初に呼び出すかによって異なります。
$wakanda.init
これが各コントローラーからの呼び出し方法に関連している可能性があるかどうか、興味があります。ドキュメントは、これを行うのが悪いとは言っていません。
Angular サービスをセットアップし、サービスで解決する方がよいでしょう$wakanda
か?