获得回复
<section ng-controller="BookingController"></section>
指令
MyApp.directive "loadThing", ($rootScope, $compile) ->
return {
restrict: "AE",
link: (scope, element, attrs) ->
$.get BASE_URL + '/load/template/' + attrs.loadThing, (response) ->
element.html(response)
$compile(element)
}
我正在使用ajax加载模板,该模板中已声明了ng-controller,但控制器未被初始化。
我在这里做错了什么?
答案 0 :(得分:0)
链接通常用于基于事件的行为,我不确定您为什么要使用Ajax,但您可能会尝试在控制器中声明控制器和模板。它看起来像这样:
MyApp.directive('loadThing', function($rootScope, $compile) {
return {
restrict: "AE",
templateUrl: 'yourPathHere.js',
controller: 'MyController'
}
});
答案 1 :(得分:0)
需要:
template = $(response)
$compile(template)(scope)
element.append(template)
密钥漏洞没有调用函数$ compile返回。