所以我知道你可以在一个指令中获得一个函数来触发一个控制器中的函数(见:AngularJS - pass function to directive),然而,现在我正在尝试稍微获得一些东西不同。我试图让一个控制器中的函数激发指令中的控制器内的一个函数(在指令中处理)。所以我点击指令外的控制器按钮,它会在指令内激发一个函数。角度,从指令控制器中的控制器触发一个功能
这是我曾尝试
的指令:
<div cengage-file-editor content="XmlContent" request-now="changeXml()"></div>
外部控制器的功能:
$scope.changeXml = function(){
//fire function inside directive controller?
};
功能
return {
restrict: 'A',
replace: true,
controller: EditorCtrl.componentName,
scope: {
content: '=',
requestNow: '@'
},
templateUrl: 'editor.html'
};
在使用该指令该指令控制器内:
$scope.changeXml = function(){
console.log("hit");
}
所以基本上,我希望用户已经打响了changeXml功能(指令之外),并把它发送到指令并连接和消防的功能在里面。不知道如何做到这一点,会喜欢一些帮助。谢谢!
指令应该是有些自包含的,所以我不认为这是指令的一个很好的用例。相反,你可以创建一个服务来执行你需要的功能,并将这个服务注入到两个控制器中。 – 2015-04-01 19:50:38