ui-sref和$ sce.trustAsHtml

时间:2015-01-14 14:55:02

标签: angularjs angular-ui-router

我使用ui-routing在我的角度网络应用中驱动请求。在某些情况下,我使用URL参数。现在,如果我使用$sce.trustAsHtml(fooModel),我会遇到麻烦,如果进入fooModel,我会发现这样的事情&#39;您好!检查此值&#34;&#39; ui-sref无法将href生成到html标记<a>中。 是否可以将ui-sref称为$ sce.trustAsHtml?

这是工作代码

<div><a ui-sref="secure.foo({val:'value'})">value</a><div>

如果我在模型中使用相同的字符串然后

<div ng-bind-html="TrustDangerousSnippet(model)"></div>

我的控制器中的TrustDangerousSnippet被定义为

$scope.TrustDangerousSnippet = function(p) {
      return $sce.trustAsHtml(p);
    }; 

在这种情况下,ui-sref无法正常工作

1 个答案:

答案 0 :(得分:2)

您需要先使用$ compile。

$scope.TrustDangerousSnippet = function(p) {
  var _link = $compile(p)($scope);

  return $sce.trustAsHtml(_link[0].outerHTML);
};