【问题标题】:Wordpress Rest API and AngularJS ui-sref and custom HTMLWordpress Rest API 和 AngularJS ui-sref 和自定义 HTML
【发布时间】:2017-10-16 17:59:22
【问题描述】:

我正在设置一个 AngularJS 应用程序以使用 wp-rest api v2 从 Wordpress 后端提取其部分内容。

它运行良好,但如果我的帖子输入了这样的 HTML,某些 HTML 属性将被删除

I have a <a ui-sref="trays">link</a>

我的 Angular 应用程序中的结果页面没有 ui-sref,只有

<p>I have a <a>link</a></p>

我也试过了

I have a <a href= "" ui-sref="trays">link</a>

但我只得到

<p>I have a <a href="">link</a></p>

我不希望 Wordpress 能够“理解”ui-sref 的作用,但我怎样才能让代码传递到我的应用程序,确实了解如何处理这样的链接.

如何从后端获取所有 html 以传递给 Angular?

在模板上,我有

<div ng-bind-html="post.content.rendered"></div>

在 Postman 中,查询帖子时我会返回:

"content": {
        "rendered": "<p>hello there I am <strong>another</strong> post!</p>\n<p>I have a <a href= \"\" ui-sref=\"trays\">link</a>, too.</p>\n",
        "protected": false
    },

更新

我已尝试向ng-bind-html 添加过滤器以信任文本:

&lt;div ng-bind-html="post.content.rendered | toTrusted"&gt;&lt;/div&gt;

正在使用这个过滤器

angular.module('app').filter('toTrusted', ['$sce', function ($sce) {
 return function (text) {
   return $sce.trustAsHtml(text);
 };

}]);

哪个通过了ui-sref。但是,除非我还添加了一个空的href,否则该链接不会注册为链接,但它只是针对我的默认路由,而不是“托盘”。

【问题讨论】:

    标签: javascript html angularjs wordpress angular-ui-router


    【解决方案1】:

    当ui-router找不到该路由时会发生这种情况,检查托盘路由和所有文件是否包含并尝试无链接访问路由,将路由url放入浏览器,如果存在将显示。

    【讨论】:

    • 它存在,我可以从站点中的其他链接访问它。另外,我尝试了其他几个 ui-srefs,同样的事情。我只能使用“普通”hrefs,而不是 ui-sref(例如&lt;a href="/#/web/components/accordions"&gt;normal link to accordions&lt;/a&gt;
    猜你喜欢
    • 1970-01-01
    • 2014-05-06
    • 2014-08-22
    • 1970-01-01
    • 2018-01-24
    • 2021-10-31
    • 2017-09-23
    • 1970-01-01
    • 2020-09-22
    相关资源
    最近更新 更多