angularjs - Method display on the scope is not executed -


i have set of directives share scope

update:

the code available plunk here http://plnkr.co/edit/jz77bszggrw6n4k718is?p=preview

todo-item:

 app.directive("todoitem",function(deletetodo,$log){ var dirdefobj = {     restrict:'e',     templateurl:'app/templates/todo.html',     scope:{         todo:'=value'     },     controller:function($scope){},     replace:true }; return dirdefobj; }); 

template:

<div class="ui card">   <todo-formui ng-show="todo.editmode"></todo-formui>   <todo-cardui ng-show="!todo.editmode"></todo-cardui> </div> 

there 2 directives inherit scope of directive:

todo-cardui

app.directive('todocardui',function(){ var dirdefobj = {     restrict:'e',     templateurl:'app/templates/display-todo.html',     scope:false,     replace:true,     controller:function($scope)     {         $scope.clickdone = function clickdone(){             //two tasks (1)toggle done value on todo (2) toggle btntext on todo             $scope.todo.done = !$scope.todo.done;             $scope.todo.btntext = $scope.todo.done?'reinstate':'done';         };          $scope.remove = function remove()         {             deletetodo.delete($scope.todo);             $scope.$emit('todo:deleted',$scope.todo);         };          $scope.edit = function edit(value)         {             $scope.todo.editmode = true;             $scope.savedstate = angular.extend({},$scope.todo);         };       } }; return dirdefobj; }); 

template:

 <div> <div class="content">     <i class="right floated blue pencil icon" ng-click="edit()"></i>      <header class="ui medium header">         <span ng-class="{'done-todo':todo.done,'normal-todo':!todo.done}">{{todo.task}}</span>     </header>     <div class="description">         <p>{{todo.description}}</p>     </div> </div> <div class="extra content">     <button class="ui small green toggle button floated left" ng-click="clickdone()">{{todo.btntext}}</button>     <button class="ui small red button floated left" ng-click="remove()">delete</button> </div> </div> 

todo-formui:

app.directive("todoformui",function(editservice){ var dirdefobj = {     restrict:'e',     templateurl:'app/templates/edit-todo.html',     scope:false,     controller:function($scope){         $scope.display = function display(){             console.log("inside edit preview function");             $scope.editmode = false;         };          $scope.save = function(){             editservice.edit($scope.todo);         };          $scope.discard = function(){             $scope.todo={                 task:'',                 dscription:'',                 btntext:''             };             $scope.todo = $scope.savedstate;          };     },     replace:true }; return dirdefobj; }); 

template:

<div ng-class="{description:show_modal,content:!show_modal}"> <i class="right floated blue unhide icon" ng-click="display()"></i> <form class="ui small form">     <div class="field">         <label>task</label>         <input type="text" name="task" placeholder="what want do?"ng-model="todo.task">     </div>     <div class="field">         <label>description</label>         <textarea ng-model="todo.description"></textarea>     </div>     <div class="two fields">         <button class="ui red button floated right">discard</button>         <button class="ui submit green button floated right" ng-click="save()">save</button>     </div>   </form> 

when executing code,i found display function in todo-formui not execute,no matter put or tried do.the save function in same scope runs no problems.

in preview function(as mentioned in plunker), have update scope

$scope.todo.editmode = false;

instead of

$scope.editmode = false;

then preview avaliable

hope helps