如何在没有 Package 器div的情况下进行NG-BIND?

ctehm74n  于 2022-09-18  发布在  Java
关注(0)|答案(3)|浏览(155)

就像在文档中一样,它就像一些div或html标签 Package 了表达式。http://docs-angularjs-org-dev.appspot.com/api/ng.directive:ngBind有没有一种方法可以不用或 Package 它就直接获得表达式值?

eqzww0vc

eqzww0vc1#

有什么原因不能只用大括号表示法{{expression}}吗?

avkwfej4

avkwfej42#

ngBind是一个指令,所有指令都必须附加到一个标记上。所以不,如果不把ngBind放在某种标签上,就不可能使用它自己。

如前所述,您可以使用{{expression}}形式的字符串内插。

ngBindTemplate的存在是因为某些HTML元素不允许子元素,因此{{expression}}可能无法正常工作。在这些情况下,您将ngBindTemplate放在元素上;没有“ Package 器”元素使用它是没有意义的。

xdnvmnnf

xdnvmnnf3#

注意:这是在ng-bind-html的上下文中,但仍然相关,希望对某些人有用。

我用一个 Package 器div打破了我的css。

经过多次尝试和错误之后,我想出了一个解决方案,即使用定制指令将元素替换为所需的html。

;(function (angular) {
   'use strict'

   angular.module('app').directive('asReplaceElementWithHtml', replaceElementWithHtml)

   function replaceElementWithHtml() {
      return {
         link: replaceElementWithHtmlLink,
      }
   }

   function replaceElementWithHtmlLink(scope, element, attrs) {
      element.replaceWith(attrs.ngDataHtml)
   }
})(angular)

按如下方式使用它:

<div
   as-replace-element-with-html
   ng-data-html=`{{:: stringOfHtmlFromTrustedSource}}`
></div>

相关问题