2014-11-19 2 views
0

Я попытался найти ссылку нескольких контроллеров на одну настраиваемую директиву, но без решения. Этого можно достичь или нет. Может кто-нибудь, пожалуйста, скажите мне.Можем ли мы связать два контроллера с одной настраиваемой директивой

Требование: Я создал директиву с контроллером. Я вызываю эту директиву на странице, и страница имеет свой собственный контроллер. Теперь у контроллера страницы есть несколько функций. Я использую шаблон с некоторыми событиями. Эти события реализуются в контроллере страниц (родительский контроллер). Таким образом, эти функции не стреляют.

<div ng-controller="controllername"> 
<myDirective name-"name" event="doSomeEvent(params)"/> 

В контроллере у меня есть несколько функций, как

app.controller("controllername",['$scope','function($scope)) 
{ 
$scope.functionName = function() 
{ 
alert(1); 
}] 
} 

Эта функция связана с шаблоном директивы. Как сделать это мероприятие уволенным?

ответ

0

Я предполагаю, что ваша директива имеет изолированный охват. означает, что в определении вашей директивы имеется строка с областью действия: {}. , который делает его изолированным, и он не может видеть родительскую область (это означает, что у вас есть контрольное имя контроллера)

удалить определение области действия из директивы (удалить область: {}), и у вас будет доступ к родительский охват. , и вы сможете использовать эти функции так, как если бы они находились в области действия директивы.

+0

Если я удаляю область действия, можно ли это манипулировать со свойствами, которые были отправлены в директиву? Я добавил контроллер к директиве уже, будет ли он работать также? – Bhimisetty

+0

Нет. Но вы можете установить это в родительской области, и ребенок увидит его. – sagie

+0

Мне нужно работать с двумя контроллерами. – Bhimisetty

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