我有一個JQ-情節如下控制器:異步加載/處理承諾在AngularJS與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
變爲可用。
在此期間,我對這個控制器看法是這樣的:
<div ng-controller="chartCtrl">
<div ui-jq="plot" ui-options="
[
{ data: {{data}}}
]
">
</div>
</div>
現在的問題是,當ui-options
嘗試在網頁加載加載data
,控制器還沒有回來data
呢。這會在angularJS中引發解析錯誤。
我試圖在第二個異步方法完全解決後在控制器中定義圖表選項,但我仍然不斷收到錯誤。我該如何解決這個問題?謝謝。
'model1'和'model2'從哪裏來? –
@NexusDuck他們是工廠。對不起,我忘了顯示他們的構造函數。我已經添加並更新了問題。 – swdon