更新,因为我要问的是一些混乱。我想使用一个指令将变量注入该指令使用的控制器中。我意识到我可以使用$ scope,但我找不到直观的解决方案。
基本上我希望我的控制器将投标变量注入其中。
我的预期用途:
<blah-directive proposal="proposal"></blah-directive>
指令(到目前为止):
app.directive('blahDirective', function () {
return {
restrict: 'E'
, transclude: true
, replace: true
, scope: {
proposal: '='
}
, templateUrl: 'blahTemp.html'
, controller: blahController
};
});
blahTemp.html
<form class="form-horizontal" role="form" name="myBidForm">
**{{ proposal }}**
</form>
这是在$ scope中显示值proposal变量,但它不是我想要的。基本上我想定义我的控制器:
var blahController = function($scope, SomeOtherResource, proposal) {
}
答案 0 :(得分:3)
如果您想将本地人注入控制器,请使用$controller。
以下是一个示例(plunker):
app.directive('blahDirective', function ($controller) {
return {
restrict: 'E',
scope: {
proposal : "="
},
transclude: true,
replace: true,
templateUrl: 'blahTemp.html',
link : function (scope, elm, attrs){
scope.proposal = {};
var locals = {
$scope: scope ,
proposal: scope.proposal
};
$controller('blahController', locals);
}
};
});