从范围变量中删除属性

Seb*_*rth 5 angularjs angularjs-scope angularjs-templates

我有一个范围变量$scope.object = { prop: 12345 },我删除它的属性设置为undefined.

<button ng-show="object.prop" ng-click="object.prop = undefined"/>
Run Code Online (Sandbox Code Playgroud)

是否有可能从模板中删除属性而控制器中没有附加功能而不是将其值设置为undefined

K.T*_*ess 11

使用下面的代码从对象中删除属性

在HTML中

<button ng-show="object.prop" ng-click="deleteProperty()" />
Run Code Online (Sandbox Code Playgroud)

在控制器中

$scope.deleteProperty = function() {
    delete $scope.object.prop;
}    
Run Code Online (Sandbox Code Playgroud)


Giw*_*wel 0

是的...即您可以更改变量的值...也许这会对您有所帮助

尝试这个:

 <button ng-show="object.prop" ng-click="object.prop = 'undefined'"/>
Run Code Online (Sandbox Code Playgroud)

或者你可以清除该值...

 <button ng-show="object.prop" ng-click="object.prop = ''"/>
Run Code Online (Sandbox Code Playgroud)

您也可以将值设置为 null

 <button ng-show="object.prop" ng-click="object.prop = null"/>
Run Code Online (Sandbox Code Playgroud)