在控制器中动态添加html后,angular指令不会呈现模板

时间:2016-07-06 12:36:59

标签: html angularjs dynamic controller directive

我的问题是我的指令没有显示模板。我添加了一个html标签 通过" $ sce.trustAsHtml(taskDirective)" " $ compile(taskDirective)($ scope)&我的控制器中的特定名称到dom #34; 。控制器功能在里面 该指令被调用。但模板没有显示出来。

我正在使用 $ stateProvider ,它使用特定的HTML调用" TaskDetailCtrl"

有人可以帮忙吗?

谢谢!+

控制器:

app.controller("TaskDetailCtrl", function ($scope, $state, $stateParams, $sce, $compile) {

    cur_task = $stateParams.newTask;
    $scope.title = cur_task.title;
    var taskDirective = "<" + cur_task.type + "taskdirective" + "></" + cur_task.type + "taskdirective" + ">";
    $scope.showTask = $sce.trustAsHtml(taskDirective);
    $compile(taskDirective)($scope);

});

指令:

app.directive('clicktaskdirective', function () {
    return {
        restrict: 'E',
        template: '<ion-content style="padding: 20px;" class="text-center"><br><br><h1>{{taskTitle}}</h1><br><br><h4>{{taskText}}</h4><br><br><button class="button button-block button-stable" ng-click="start()">Stimmt!</button></ion-content>', 
        controller: function ($scope, $state, $stateParams) {

            console.log("This is showing up!")
        }
    }
});

HTML:

<div ng-bind-html="showTask"></div>

0 个答案:

没有答案