加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在AngularJS中调用ajax之后呈现动态HTML(angularjs内容)内容

发布时间:2020-12-17 07:51:38 所属栏目:安全 来源:网络整理
导读:我是新来的Angular在进行ajax调用后陷入困境.一旦注入DOM,我如何渲染/编译html内容,以便我仍然可以使用AngularJs函数. 由于我的后端设置方式,我必须通过ajax($http)获取内容.我正在制作没有jQuery的应用程序.我尝试了$compile和$apply但是没有用.我在这里想
我是新来的Angular在进行ajax调用后陷入困境.一旦注入DOM,我如何渲染/编译html内容,以便我仍然可以使用AngularJs函数.

由于我的后端设置方式,我必须通过ajax($http)获取内容.我正在制作没有jQuery的应用程序.我尝试了$compile和$apply但是没有用.我在这里想念的是什么

我的代码设置为http://jsfiddle.net/rexonms/RB7FQ/3/.我希望第二个div内容具有与第一个div相同的属性.

HTML

<div ng-controller="MyCtrl" class="section">
  <input ng-model="contentA">
  <div>
      And the input is: {{contentA}}
  </div>
</div>

<div ng-controller="MyAjax" class="section">
  <div id="dumpAjax">
    {{ajaxData}}
  </div>
  <button ng-click=getajax()> Get Ajax</button>
</div>

脚本

var myApp = angular.module('myApp',[]);

//myApp.directive('myDirective',function() {});
//myApp.factory('myService',function() {});

function MyCtrl($scope) {

}

function MyAjax($scope){
  var data = '<input ng-model="contentB">{{contentB}}';

  $scope.getajax = function(){
    $scope.ajaxData = data;
  }

}

提前致谢.

ng-bind-html-unsafe不可用1.2及以后版本的角…

所以你应该使用ng-bind-html来创建一个绑定,这个绑定将innerHTML以一种安全的方式将表达式计算到当前元素中.

在你的字符串中使用$scope变量使它不安全,所以你应该使用$sce.trustAsHtml,但这次你的字符串中的变量不能绑定,因为它们不会被编译…

基本上你应该编译你的字符串以绑定你的变量.这里有自定义指令,你可以创建一个可以替换为ng-html-bind的指令…

编写一个自定义指令,扩展ng-bind-html和一些额外的功能可以解决…

这是我的PLUNKER

这是你的解决方案的最新JSFIDDLE …

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读