我在Symfony中有一个动作,它呈现以下html:
<div ng-controller="Ctrl1">
<div ng-init="loadTarget('http://url/target')" ng-bind-html="target_content"></div>
</div>
http://url/target也是Symfony中的一个动作 以下html:
<div ng-controller="Ctrl2">
<div ng-bind-html="con"></div>
</div>
角度代码如下:
var app = angular.module('app', ['ngTouch', 'ngSanitize']);
app.controller('Ctrl1', ['$scope', '$http', '$sce', function($scope, $http, $sce) {
$scope.loadTarget = function(ajaxUrl) {
$http({
method: 'HTML',
url: ajaxUrl
}).success(function(data, status) {
$scope.target_content = $sce.trustAsHtml(data);
}).error(function(data) {
});
};
}]);
app.controller('Ctrl2', ['$scope', '$sce', function($scope, $sce) {
var v = '<b>Hello World</b>';
$scope.con = $sce.trustAsHtml(v);
}]);
两个视图都扩展了导入依赖项的布局,并包含ng-app ='app'调用。
问题是永远不会调用第二个控制器(Ctrl2)。同时,如果我将第二个动作的url直接放在浏览器中并点击“Go”,它会按预期执行并加载数据。这显然是一个非常简化的例子,顺便说一句,我无法在plunker中工作,因为它根本不会进行ajax调用,说它是“无法连接到任何应用程序实例”,但这里是链接以防万一。
http://plnkr.co/edit/YRv3M1ZX7FMiFICAUq7m
非常感谢任何帮助。