1
我的问题是我的指令不显示模板。我通过“$ sce.trustAsHtml(taskDirective)”和“$ compile(taskDirective)($ scope)”在我的控制器中添加了具有特定名称的html标记 。调用指令 内的控制器功能。但模板没有显示出来。角度指令不会渲染模板,在控制器中动态添加html后
进出口使用的$ stateProvider,它调用“TaskDetailCtrl”有一定的HTML。
有人可以帮忙吗?
谢谢+
控制器:
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>
非常感谢你,那定了! 所以也许更好的解决方案是使用stateProvider来执行不同的任务,而不是只使用一个具有不同指令的任务状态...... –