【发布时间】:2015-09-01 09:06:26
【问题描述】:
在我的指令中引用控制器时。模板未正确呈现。$scope.name = "James".
相反,模板显示“{{name}}”,因此不绑定到范围。
如何让我的模板显示名称?我想在我的指令中引用控制器,我不想在我的指令中定义控制器。
我得到的错误:错误:[ng:areq] 参数 'fn' 不是函数,得到字符串
模板 html
<div id="room-availability-widget">
{{name}}
</div>
指令
app.directive("roomAvailability", ["backEndServerUrl", "hubName", function (serverUrl, hubName) {
return {
restrict: 'E',
templateUrl: 'Widgets/RoomAvailability/Template.html',
scope: {},
controller: 'clientHandlers'
}
}]);
控制器
app.controller('clientHandlers', ["$scope", function clientHandlers($scope)
{
$scope.name = "James";
}])
索引视图
<room-availability></room-availability>
【问题讨论】:
-
在 Plunkr 上发布一个重现问题的完整示例。并发布完整的错误堆栈跟踪。告诉我们它指的是哪一行代码。另外,在指令中注入 serverUrl 和 hubName 有什么好处,因为它根本不使用它们?
标签: angularjs