N G N G - 8 months ago 59
AngularJS Question

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


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')"


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