Ecco il modo in cui è possibile eliminare qualsiasi nome della proprietà dall'oggetto di portata. Questo metodo richiede l'utilizzo della libreria Underscore.js.
index.html
//Underscore.js must be imported
<script src="path/to/underscore/underscore-min.js"></script>
//Replace prop with any property name
<button ng-click="removeMyProperty(object, 'prop')">Test</button>
controller
$scope.object = {"prop": "test", "anotherProp" : 10};
$scope.removeMyProperty = function(variable, propName){
var keys = _.keys(variable);
_.each(keys, function(data){
if(data === propName){
$scope.object = _.omit(variable, propName);
}
else {
console.log("No such property name in array!");
}
});
};
Questo funziona solo quando si utilizza biblioteca Underscore.js e quindi è necessario aggiungerlo al classpath del progetto e l'importazione di sottolineatura. js file in index.html
Se non si ha familiarità con Undersc minerale, vai qui Underscore.js
fonte
2014-11-25 13:51:27
Vuoi eliminare proprietà specifica dall'oggetto o tutti loro? –
@AmirAl: una proprietà specifica all'interno dell'oggetto. Ad esempio sul percorso "object.prop.foo [2] .bar". –
@AmirAl: Non è un duplicato poiché stiamo parlando del codice del template AngularJS non del codice Javascript. –