我编写了一个函数,使用ajax加载html并动态编译它,使用angular 1.2 *
工作正常切换到角度1.3。* / 1.4.0后,ng-show指令停止响应,但是当我检查范围时,我看到数据正在发生变化。
我还注意到,如果我使用rootscope进行编译,则ng-show可以工作但我没有数据,因为新范围不是现有范围的子项。
这是我正在使用的代码
$scope.ticket = {showAdvance:false};
$scope.afterAjaxFinished = function(htmlContent, container)
{
var $injector = angular.injector(['ng', 'myApp']);
$injector.invoke(function ($compile,$rootScope)
{
if ($scope)
{
container.appendChild($compile(htmlContent)($scope)[0]);
}
else
{
container.appendChild($compile(htmlContent)($rootScope)[0]);
}
});
};
以及模板中的以下HTML(htmlContent)
<div data-ng-click="ticket.showAdvance=!ticket.showAdvance">Toggle showing ticket</div>
<div data-ng-show="ticket.showAdvance">Showing Ticket</div>
htmlContent 是我的动态模板
容器是dom中已有的元素
帮助任何人?