Javascript 使用角度';使用默认html绑定html
我正在写一个网站,我正在使用Angular添加一个迷人的体验。该网站不使用JS,但对于体面的浏览器,内容将以HTML片段的形式动态注入(没有前端模板语言) 我有一个表示页面内容的块,最初应该包含来自服务器的html内容,然后替换为来自Ajax函数的html片段 我希望在中使用带有默认内容的Javascript 使用角度';使用默认html绑定html,javascript,angularjs,dom,ng-bind-html,Javascript,Angularjs,Dom,Ng Bind Html,我正在写一个网站,我正在使用Angular添加一个迷人的体验。该网站不使用JS,但对于体面的浏览器,内容将以HTML片段的形式动态注入(没有前端模板语言) 我有一个表示页面内容的块,最初应该包含来自服务器的html内容,然后替换为来自Ajax函数的html片段 我希望在中使用带有默认内容的ng bind html,但是,一旦角度引导清空此元素,并用ng bind html绑定到的pageContent变量的内容替换它(如预期的那样) 在控制器中的变量更新之前,是否有任何方法阻止ng bind h
ng bind html
,但是,一旦角度引导清空此元素,并用ng bind html
绑定到的pageContent
变量的内容替换它(如预期的那样)
在控制器中的变量更新之前,是否有任何方法阻止ng bind html
删除默认内容
另一个选择是在引导之前收集元素的内容,但我不认为这是一个非常优雅的解决方案
我的页面中的一些示例代码:
<div id="content" ng-bind-html="pageContent">
<h2>Home page</h2>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
主页
Lorem ipsum dolor sit amet,奉献精英。
理想情况下,
#content
div中的HTML内容将保留在页面上,直到我更新$scope.pageContent
变量。有什么想法吗?我认为你想做的事情应该如下:
<div ng-if="pageContent" id="content" ng-bind-html="pageContent"></div>
<div ng-if="!pageContent">
<h2>Home page</h2>
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
</div>
</div>
主页
Lorem ipsum dolor sit amet,奉献精英。
或使用ngSwitch
我认为您应该能够在元素上设置display:none,并在
pageContent
可用时将其删除 编写一个自定义指令,用一些额外的函数扩展ng bind html
,这可能是一个解决方案
这是我为使用
ng bind html unsafe
创建的一个文件,现在我编辑它以等待使用以前的内容替换html字符串…这是一个非常好的解决方案。我会坚持下去,看看是否有什么本土的东西我错过了,否则我会把这个标记为正确的答案。