如何在角度js中使用指令。在我的情况下不起作用,为什么。?

时间:2016-05-17 15:55:42

标签: javascript angularjs angularjs-directive ionic-framework ionic-view

我需要使用click function bind打印动态html。我使用了分配给范围变量的$ sce.trustAsHtml。以下是我的代码供参考。我无法找到为什么指令在我的情况下不起作用。请帮我解决这个问题。

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 个答案:

答案 0 :(得分:1)

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

我在想如果这是问题,而不是hte var内容,它将绑定字符串&#34; trustedHtml&#34;然而,它会在你的情况下工作/出现