这个功能我打电话给ng-click。
HTML
Centers
JS
<div class="col-md-offset-10">
<div class="form-group">
<a class="btn btn-default" ng-click="schedule ()">Add</a>
</div>
</div>
这个功能我希望得到$scope.scheduleid={};
var inc=0;
$scope.schedule = function ()
{
inc += 1;
console.log($scope.from);
console.log ($scope.dateObj);
if (inc == 1)
{
var schedule = {}
schedule._type = "Schedule";
console.log($scope.dateObj);
var insertSchedule = BasicJSONCreator.basicEdit ();
insertSchedule.Calls[0].Arguments = [];
insertSchedule.Calls[0].Arguments[0] = schedule;
httpRequester.async (insertSchedule).then (function (data) {
console.log(data.data.ReturnValues[0].scheduleID);
$scope.scheduleid=data.data.ReturnValues[0] //This get response from my database
console.log($scope.scheduleid ); // here object is get my data from database
});
}
$scope.getData();
}
的结果,但这里有问题。
当我点击$scope.scheduleid
(空),但两次以上点击$scope.scheduleid
(没有空并获取数据)。为什么我的第一次点击为空。
$scope.scheduleid
答案 0 :(得分:1)
您正在发出HTTP请求,我认为存在问题。当您第一次通过点击呼叫您的功能时,您的呼叫正在处理中,您的功能将继续进行。
这就是为什么当你单击一次时,在你的函数结束时,你的对象是空的。一旦你的对象加载了 - 比如说,在第二次点击时,你最终会收到它。你应该做的是在处理之前等待你的HTTP呼叫结束。您可以通过脏方式($ timeout)或查看应提供有用信息的this one等解决方案来执行此操作。