ng-编译html模板时显示不起作用

时间:2015-06-09 07:07:16

标签: javascript angularjs

我编写了一个函数,使用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中已有的元素

帮助任何人?

0 个答案:

没有答案