js .append()Angular Directive不编译

时间:2013-07-03 08:24:10

标签: javascript jquery angularjs angularjs-directive

简化我有以下问题,我想使用jquery函数.append()附加到div,一个Angular指令,它将无法正常工作。我创造了一个jsfiddle来说明我的观点。 http://jsfiddle.net/H26eg/2/

你知道为什么它不起作用,我该怎么办?

我认为它与此http://docs.angularjs.org/api/ng.$compile有关,但无法弄明白......

非常感谢!

编辑: 我已经设法使用两个指令执行上述操作,从另一个指令调用一个指令:http://jsfiddle.net/H26eg/6/。问题是如果在anpr指令中不是常规template:"html_text"而是再次使用templateUrl: "path_to_html_file",它将不会编译指令。有人可以告诉我如何编译templateUrl指令吗?

1 个答案:

答案 0 :(得分:1)

最后使用控制器功能完成:

<div data-ng-controller="SetupController">

    <input data-ng-click="addAnpr('tabs_1','anpr')" type="button" value="Add"/>

    <div id="tabs_1">

    </div>

</div>  

..

app.controller('SetupController', function ($scope, $compile) {
$scope.addAnpr = function (tab,drctv) {
    var el = $compile('<'+drctv+'/>')($scope);
    $('#'+tab).append(el);
}
});

app.directive('anpr', function () {
    return{
        restrict: 'E',
        templateUrl: 'app/partials/SETUP/anprTab.html'
    }
});