可以在 AngularJS 中通过引用传递作用域属性吗?
Can scope properties be passed by reference in AngularJS?
下面的代码能否在 AngularJS 控制器中按预期工作?
updateProperty($scope.property1);
var updateProperty=function(property){
property+=1;
/* Will the above line change $scope.property1? */
}
如果上述语法不起作用,是否有另一种方法来创建可用于更新任何范围的通用函数属性?
不能通过引用传递主要类型。尝试传递对象:
$scope.property1 = {
value: 1
};
updateProperty($scope.property1);
var updateProperty=function(property){
property.value += 1;
}
假设它在注入 $scope 的控制器中运行,这就是你可以做的:
updateScopeProperty("property1");
function updateScopeProperty(propertyName) {
$scope[propertyName] += 1;
}
下面的代码能否在 AngularJS 控制器中按预期工作?
updateProperty($scope.property1);
var updateProperty=function(property){
property+=1;
/* Will the above line change $scope.property1? */
}
如果上述语法不起作用,是否有另一种方法来创建可用于更新任何范围的通用函数属性?
不能通过引用传递主要类型。尝试传递对象:
$scope.property1 = {
value: 1
};
updateProperty($scope.property1);
var updateProperty=function(property){
property.value += 1;
}
假设它在注入 $scope 的控制器中运行,这就是你可以做的:
updateScopeProperty("property1");
function updateScopeProperty(propertyName) {
$scope[propertyName] += 1;
}