javascript - Angular directive not updating object in ng-repeat -


i have directive displays tree of folders. directive recursive display subfolders.

<div ng-click="toggleopen()"  class="action">     <span ng-if="folder.opened"><img class="icon" src="assets/img/load.png"/></span>     <span ng-if="!folder.opened"><img class="icon" src="assets/img/closed.png"/></span>     {{folder.name}}     {{folder.opened}}     <ul ng-if="folder.children.folder" class="folder">         <li ng-if="folder.opened" ng-repeat="fol in folder.children.folder">             <my-folder folder="fol"></my-folder>         </li>     </ul>     <ul ng-if="folder.children.query" class="folder">         <li ng-if="folder.opened" ng-repeat="query in folder.children.query">             <img class="icon" src="assets/img/copy.png"/>             {{query.name}}         </li>     </ul> </div> 

each folder has property opened. when click on element call function toggle opened state:

$scope.toggleopen = function(){     this.opened = !this.opened; } 

however, whenever click folders aren't closed. when put breakpoint on toggleopen see value of this.opened true. if has been changed false.

can out?

it this isn't referencing think is. try doing:

var self = this; $scope.toggleopen = function(){     self.opened = !self.opened; } 

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -