【问题标题】:ui-sref and $sce.trustAsHtmlui-sref 和 $sce.trustAsHtml
【发布时间】:2015-07-07 03:58:06
【问题描述】:

我正在使用 ui-routing 来驱动我的 Angular Web 应用程序中的请求。在某些情况下,我使用 URL 参数。现在如果我使用$sce.trustAsHtml(fooModel) 会遇到麻烦,因为如果进入 fooModel 我有类似这样的 'Hello!检查这个值"' ui-sref 无法在 html 标签<a> 中生成href。 是否可以将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 不起作用

【问题讨论】:

  • 所以实际上您是在尝试在查询字符串上传递 HTML?
  • 如果我在 html 中使用 ui-sref 一切正常,但如果我在模型中使用它,通过 sce.trustAsHtml 解析,我遇到了上述问题。
  • 你能展示一些演示问题的代码吗?也许是 MCVE stackoverflow.com/help/mcve
  • 抱歉,我已经编辑了我的问题
  • 第二个 sn-p 中的 ui-href 指令在哪里?

标签: angularjs angular-ui-router


【解决方案1】:

你需要先使用$compile。

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

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

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    相关资源
    最近更新 更多