でAngularJSビューの約束を扱う:非同期ロード/ Iは、以下のようにJQ-プロットするためのコントローラを持っているJQ-プロット
app.controller('chartCtrl', ['$scope', 'Model1', 'Model2', function($scope, Model1, Model2) {
var model1 = new Model1();
model1.firstAsyncMethod(function() {
var model2 = new Model2();
model2.secondAsyncMethod(function() {
$scope.data = [ [1,6.5],[2,6.5],[3,7],[4,8],[5,7.5],[6,7],[7,6.8],[8,7],[9,7.2],[10,7],[11,6.8],[12,7] ];
})
});
}]);
あなたが見ることができるように、私が最初にfirstAsyncMethod()
とパスを呼んでいますそれに対するコールバック。このコールバックにより、別の非同期コールがsecondAsyncMethod()
になります。このsecondAsyncMethod()
が私の$scope.data
を解決するとき、それは最後にのみ利用可能になります。一方
は、このコントローラの私の見解は次のようになります。ui-options
は、ページの読み込みにdata
をロードしようとすると、今
<div ng-controller="chartCtrl">
<div ui-jq="plot" ui-options="
[
{ data: {{data}}}
]
">
</div>
</div>
、問題は、コントローラはまだdata
が戻っていないです。これにより、angularJSの解析エラーがスローされます。
2番目の非同期メソッドが完全に解決された後、コントローラでチャートオプションを定義しようとしましたが、まだエラーが発生しています。どうすれば解決できますか?ありがとう。
'model1'と' model2'はどこから来たのですか? –
@NexusDuck彼らは工場です。すみません、コンストラクタを表示するのを忘れてしまいました。私はそれらを追加し、質問を更新しました。 – swdon