2016-07-22 2 views
0

Этот код отлично работает и использует область родительского контроллера;применение областей по угловым директивам и функции вызывающего объекта

"<button type='button' post-random-feed >Post review</button>" 

.directive("postRandomFeed",['config',function(){ 
     return function(scope,element.attrs){ 

       element.bind("click", function(){ 
        scope.name ="henry"; 
        console.log(element); 
       }); 



    } 
}]); 

моя проблема в том, что я хочу определить изолированную область действия и вернуть объект вместо функции из директивы. Это мой код

"<button type='button' post-random-feed >Post review</button>" 

.directive("postRandomFeed",['config',function(){ 
     return { 

      restrict :"A", 

      scope : { 

        }, 

      irony : function(element, attrs) 
      { 
       element.bind("click", function(){ 
        console.log(element); 
       }); 


      } 
    }; 
}]); 

Как я вызвать функцию иронию, так что элемент регистрирует событие щелчка какие-либо ошибки, пожалуйста, поправьте меня. Спасибо

+0

Вы можете положить, что в link. – ngLover

ответ

0

Это вы хотите сделать? Вы можете зарегистрировать обратный вызов к контроллеру:

HTML:

<button type='button' post-random-feed on-irony="onControllerFn">Post review</button> 

директива:

.directive("postRandomFeed",['config',function(){ 
     return { 
      restrict :"A", 
      scope : {}, 
      link : function(scope, element, attrs) { 
       $timeout(function() { 
        scope.$emit(attr.onIrony); 
       }); 
      }); 

     } 
    }; 
}]); 

и в контроллере вы можете сделать:

$scope.$on('onControllerFn', function(event) { 
    // your code here 
}); 
+0

как это получить объект, переданный в область управления? – charlietfl

+0

внутри области, которую мы можем указать, хотим ли мы привязать одну или две привязки в случае необходимости ... Я думал, что вопрос заключается в получении функции в контроллере. – kukkuz

+0

Спасибо. это было именно то, что мне нужно – henrybbosa

Смежные вопросы