Angularjs指令依赖于外部指令

Angularjs指令依赖于外部指令,angularjs,workflow,directive,Angularjs,Workflow,Directive,我需要用Angularjs开发一个工作流编辑器 这需要一个指令(内部),该指令应该添加一个包含一些数据的div,并且该指令的数据应该来自另一个指令(外部) 将根据参数在右侧、顶部或底部添加一系列div。由于您没有发布任何代码或确切要求,请查看此演示,其中显示了来自其他指令的调用指令: HTML <div ng-controller="MyCtrl"> <div directive-foo></div> JS var app = angular.mo

我需要用Angularjs开发一个工作流编辑器

这需要一个指令(内部),该指令应该添加一个包含一些数据的div,并且该指令的数据应该来自另一个指令(外部)


将根据参数在右侧、顶部或底部添加一系列div。

由于您没有发布任何代码或确切要求,请查看此演示,其中显示了来自其他指令的调用指令:

HTML

<div ng-controller="MyCtrl">
  <div directive-foo></div>

JS

var app = angular.module('myApp',[]);

app.directive('directiveFoo', function() {
return {
    template: '<div directive-bar="123">bar</div>',
    replace: true,
    controller: function() {
        console.log('in foo ctrl');
        this.isFooAlive = function() {
            return 'Foo is alive and well';
        }
    }
}
});
app.directive('directiveBar', function() {
return {
    controller: function() {
        console.log('in bar ctrl');
    },
    require: 'directiveFoo',
    link: function(scope, element, attrs, fooCtrl) {
        console.log(fooCtrl.isFooAlive());
    }
}
});

function MyCtrl($scope) {
}
var-app=angular.module('myApp',[]);
app.directive('directiveFoo',function(){
返回{
模板:'bar',
替换:正确,
控制器:函数(){
log('in foo-ctrl');
this.isFooAlive=函数(){
返回“Foo还活着,很好”;
}
}
}
});
app.directive('directiveBar',function(){
返回{
控制器:函数(){
log('in bar ctrl');
},
要求:'directiveFoo',
链接:函数(范围、元素、属性、fooCtrl){
log(fooCtrl.isFooAlive());
}
}
});
函数MyCtrl($scope){
}


希望它能帮助你

嗨,马克西姆!谢谢你的回复。我想知道“fooCtrl”是怎么指“directiveFoo”控制器的?我的意思是遵循什么约定?看看
链接:函数(作用域、元素、属性、fessCtrl)
,默认情况下定义了作用域、元素和属性,第四个元素是控制器,您可以根据需要调用它