函数看不到数组的变化
Function can't see change in array
我得到了这两个功能
函数 1
$scope.selected = [];
$scope.selected.project = ['name:test, id:1'];
$scope.selectedFs = function($item, $model) {
$scope.selected.project = [$model];
console.log($scope.selected.project[0]);
}
};
函数 2
$scope.create = function() {
var sign = new Sign ({
sig: document.getElementById('canvas').toDataURL(),
projectId: $scope.proid,
project: $scope.selected.project[0],
timesheetId: $scope.timesheetsId
});
console.log($scope.selected.project[0]);
sign.$save(function(response) {
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};
}
]);
当我调用函数 1 时,我可以在控制台中看到 selected.project 发生变化,但是当我之后使用函数 2 时,它只使用 ['name:test, id:1']
测试
selectedFs('1','1') ->
CONSOLE = [1] ->
create() ->
CONSOLE = ['name:test, id:1']
为什么函数 2 没有新值?
您的第一个函数包含这一行:
$scope.selected.project = [$model];
因此,如果您将 $model 设置为 1(您在上面的行中这样做),它当然会 return [1].
在你的第二个函数中,我在任何赋值的左侧都看不到 $scope.selected.project,所以它根本没有被赋值 [1]
.
我得到了这两个功能
函数 1
$scope.selected = [];
$scope.selected.project = ['name:test, id:1'];
$scope.selectedFs = function($item, $model) {
$scope.selected.project = [$model];
console.log($scope.selected.project[0]);
}
};
函数 2
$scope.create = function() {
var sign = new Sign ({
sig: document.getElementById('canvas').toDataURL(),
projectId: $scope.proid,
project: $scope.selected.project[0],
timesheetId: $scope.timesheetsId
});
console.log($scope.selected.project[0]);
sign.$save(function(response) {
}, function(errorResponse) {
$scope.error = errorResponse.data.message;
});
};
}
]);
当我调用函数 1 时,我可以在控制台中看到 selected.project 发生变化,但是当我之后使用函数 2 时,它只使用 ['name:test, id:1']
测试
selectedFs('1','1') ->
CONSOLE = [1] ->
create() ->
CONSOLE = ['name:test, id:1']
为什么函数 2 没有新值?
您的第一个函数包含这一行:
$scope.selected.project = [$model];
因此,如果您将 $model 设置为 1(您在上面的行中这样做),它当然会 return [1].
在你的第二个函数中,我在任何赋值的左侧都看不到 $scope.selected.project,所以它根本没有被赋值 [1]
.