我有这样的范围变量:
//initialize variables
$scope.init = function () {
$scope.myVarA = 10;
$scope.myVarB = 5;
$scope.myVarC = new Date();
$scope.myVarD = new Date();
};
//etc..
我有一个事件绑定到一个调用checkBackEnd()
的按钮:
//using angular promises
$scope.checkBackEnd = function () {
//prepare the payload, here `myVar--` don't get updated when the user enter in new values
var payload = "/?myVarA=" + $scope.myVarA+ "&myVarB=" + $scope.myVarB
+ "&myVarC=" + dateFormat($scope.myVarC, "mm/dd/yyyy HH:MM:ss") + "&myVarD=" + dateFormat($scope.myVarD, "mm/dd/yyyy HH:MM:ss");
//send it to the api service
apiService.calculate(payload).then... etc...
};
我的payload
没有更新。无论我在UI中输入什么内容,它们仍然是调用$scope.init()
时的默认值,我无法弄清楚原因。
答案 0 :(得分:1)
想出来。
功能
$scope.checkBackEnd = function ()
应该改写为
$scope.checkBackEnd = function (myVarA,myVarB,myVarC,myVarD) {
然后使用
调用单击按钮ng-click="checkBackEnd(myVarA,myVarB....etc"
由于某种原因,$scope.myVar
将在未作为参数传入时调用默认值。