user256968
user256968

Reputation: 371

AngularJS remove scope variable in function

How to remove scope variable if I pass it into function without calling it from $scope?

// controller
$scope.user_id = 1;

$scope.example = function(uid) {
    // remove $scope.user_id without accessing it like a scope
    // smth like 

    uid = null; // won't work
};

// html
<div ng-click="example(user_id)">Click me!</div>

So I want to have completely isolated function

Upvotes: 2

Views: 596

Answers (1)

Phil
Phil

Reputation: 164733

The only way you're going to be able to remove the property from $scope is via delete. If you need to dynamically reference the object (ie $scope) and the property, try passing the key as a string, eg

ng-click="example(this, 'user_id')"

and

$scope.example = function(scope, key) {
    delete scope[key];
};

Upvotes: 2

Related Questions