我有一个控制器我在MVC上调用API。 这个API返回一个局部视图,这个局部视图与我调用API的控制器相关联。
现在,一旦我获得部分视图,我就会消失视图的html,然后重新渲染视图。
但是我的控制器方法永远不会被启动,我想因为控制器已经启动了。
问题是我可以在加载时调用控制器的方法。
html:
<div id="pageholder">
<-- here is my view , which I am changing thru API , and I want to re render it, and also want to perform certain controller methods -->
</div>
ANGULAR:
$http({
method: 'POST',
url: url,
data: {
config: item,
parameter: itemParametrs
}
}).success(function(data, status) {
$('#pageholder').empty();
$scope.username="username";
$('#pageholder').html(data);
});
请帮助!
答案 0 :(得分:1)
您需要编译您获得的新HTML。如果动态编写HTML,Angular将不会监视指令或控制器:
.success(function(data, status) {
$scope.username="username";
var $pholder = $('#pageholder');
$pholder.empty();
$pholder.html(data);
// Recompile the HTML so angular can process it
$compile($pholder)($scope);
});
PS:您需要在指令/控制器中获得$compile
服务(与获取$http
的方式相同)