Angular 包含和访问控制器作用域

Angular transclusion and accessing controller scope

我有一个这样设置的 angular 应用程序

<div ng-controller"FooCtrl">
  <bar></bar>
</div>

用脚本

app.controller('FooCtrl', ['$scope', function($scope) {
  $scope.fn = function() { window.alert("Hello World"); }
}]);
app.directive('bar', function() {
  return {
    restrict: 'AE',
    templateUrl: "/bar.html",
  };
});

并且 bar.html 部分模板是

<button ng-click="fn();">Exec</button>

但是点击那个按钮不起作用。

我试过添加

...
transclude:true
...

指令 return,但这没有成功。

如何在指令中启用对控制器功能的访问?

没有必要考虑嵌入。基本上你有错字,ng-controller & "FooCtrl" 应该用 = 符号分隔

ng-controller="FooCtrl"

Plunkr Here