Javascript 缺少必需的控制器错误:控制器';ngModel';,指令can'要求;找不到

Javascript 缺少必需的控制器错误:控制器';ngModel';,指令can'要求;找不到,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我有这个指示: directive('myDirective', function() { return { restrict: 'EA', scope: { params: '=ngModel' }, //template: '', templateUrl: '/myTemplate.html',

我有这个指示:

directive('myDirective',
    function() {
        return {
            restrict: 'EA',
            scope: {
                params: '=ngModel'
            },
            //template: '',
            templateUrl: '/myTemplate.html',
            controller: 'myController',
            link: function(scope, iElement, iAttrs, ngModel) {
               // code.. 
            }
        };
    }
);
但是,当我使用此指令时,控制台中出现以下错误: $compile:ctreq,带有指向以下消息的超链接: 缺少所需的控制器 组件$compile中出错 找不到指令“myDirective”所需的控制器“ngModel”

如果我使用“template”而不是“templateUrl”,错误就会消失,并且我不希望使用“template”。 这似乎是一个已知的问题:

有人能提出一个解决办法吗?
编辑:我使用ngModel是因为我需要双向绑定

如果您想将参数传递给指令,您可以这样做-您的问题在我看来不太正确

<div my-directive my-param="foo"></div>


directive('myDirective',
    function() {
        return {
           restrict: 'EA',
            scope: {
                myParam: '='
            },
            //template: '',
            templateUrl: '/myTemplate.html',
            controller: 'myController',
            link: function(scope, iElement, iAttrs, ngModel) {
               scope.myParam...
            }
       };
   }

指令(“myDirective”,
函数(){
返回{
限制:“EA”,
范围:{
myParam:“=”
},
//模板:“”,
templateUrl:“/myTemplate.html”,
控制器:“myController”,
链接:功能(范围、IELENT、iAttrs、ngModel){
scope.myParam。。。
}
};
}

))

抱歉,我应该提到我想要实现双向绑定,因此我使用的是NGModel。我认为如果父范围中有变量foo,那么“=”应该这样做,如果链接函数davidc中更新了变量foo,那么if应该更新,谢谢您的澄清。我对指令中双向绑定的理解是错误的。我创建了一个JSFIDLE来说明这一点,以防其他人有同样的问题: