angularjs:重新加载控制器

时间:2015-11-25 21:31:27

标签: angularjs asp.net-mvc-4 controller

我有一个控制器我在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);
});

请帮助!

1 个答案:

答案 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的方式相同)