0

Мне нужно распечатать динамический html с помощью функции bind. Я использовал $ sce.trustAsHtml, назначенный переменной области. Ниже приведен мой код для справки. Я не могу найти, почему директива не работает в моем случае. Пожалуйста, помогите мне решить эту проблему.Как использовать директиву в угловых js. Почему в моем случае не работает?

app.js

angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']) 
    .config(function($stateProvider, $urlRouterProvider) { 
     .state('groupchat', { 
      url: '/groupchat', 
      templateUrl: 'templates/groupchat.html', 
      controller: 'GroupChat', 
      controllerAs: 'GC' 
     }) 
    }) 
    .run(function($rootScope, $location, SharedProperties) { 
     SharedProperties.sharedObject = { 
     unread: 0, 
     subscriptions: [], 
     } 
    }); 

groupchat.js // - контроллер

angular.module('starter.controllers') 
.directive('dynamic', function ($compile) { 
    return { 
     restrict: 'A', 
     replace: true, 
     link: function (scope, ele, attrs) { 
      scope.$watch(attrs.dynamic, function(html) { 
      ele.html(html); 
      $compile(ele.contents())(scope); 
      }); 
     } 
     }; 
    }) 
.controller('GroupChat', function($rootScope, $scope, $sce, $compile) { 
    $scope.trustedHtml = $sce.trustAsHtml('<span ng-click="testAlert()">Submit</span>'); 
    $scope.testAlert = function() { 
     alert('testing'); 
    }; 
}); 

groupchat.html

<ion-view> 
    <div dynamic="trustedHtml"></div> 
</ion-view> 
+1

Я не ионный-эксперт , но вам не нужно вводить 'ngSanitize' в свой модуль для использования $ sce? (И, конечно, включите скрипт) – ippi

ответ

1
<div dynamic= "{{trustedHtml}}"> ?? 

им думать, если это проблема, а не содержание HTE вара, он будет связывать строку «trustedHtml», и она будет работать/показ еще в вашем случае, однако

+0

Когда я использую '

', он получает принтер как '
'. Я не получаю html-рендеринг. – Anishnirmal

+0

welp, вы могли бы избежать всей директивы «dynamic» и использовать встроенную директиву ng-bind-html:/ – nacmonad

+1

, которая работает., Спасибо :) – Anishnirmal