Angularjs 我们可以将两个控制器链接到一个自定义指令吗

Angularjs 我们可以将两个控制器链接到一个自定义指令吗,angularjs,Angularjs,我试图找到将多个控制器链接到单个自定义指令的方法,但没有找到解决方案。这是否可能实现。谁能告诉我吗 要求:我创建了一个带有控制器的指令。我在一个页面中调用该指令,该页面有自己的控制器。现在页面控制器有两个功能。我正在对一些事件使用模板。这些事件在页控制器父控制器中实现。所以这些功能没有启动 <div ng-controller="controllername"> <myDirective name-"name" event="doSomeEvent(params)"/>

我试图找到将多个控制器链接到单个自定义指令的方法,但没有找到解决方案。这是否可能实现。谁能告诉我吗

要求:我创建了一个带有控制器的指令。我在一个页面中调用该指令,该页面有自己的控制器。现在页面控制器有两个功能。我正在对一些事件使用模板。这些事件在页控制器父控制器中实现。所以这些功能没有启动

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

此函数链接到指令模板。如何触发此事件?

我猜您的指令有一个独立的作用域。 这意味着您在指令定义中有一行,范围为:{}。 这使得它被隔离,并且它看不到父范围,这意味着控制器“controllername”在那里

从指令中删除范围定义删除范围:{},您将有权访问父范围。
您将能够像在指令作用域中一样使用这些函数。

如果我删除该作用域,是否可以对已发送到指令的属性进行操作?我已经在指令中添加了一个控制器,它也可以工作吗?不。但是你可以在父范围中设置它,子范围将看到它。在父控制器中设置这些标志。在这里,父控制器是Controller1,而链接到指令的控制器是Controller2,两者都将执行吗?这是我的问题。指令控制器有很多函数可以在指令上执行。无法删除。是的,如果指令未使用独立作用域,即指令中未定义作用域:{},则指令将同时看到两个控制器。另一种方法是将函数放入将被调用的指令控制器中,它将通过事件$scope.$emit'my event'和父$scope.$on'my event',function event,….调用父控制器。。。。
app.controller("controllername",['$scope','function($scope))
{
$scope.functionName = function()
{
alert(1);
}]
}