js拼接的html代码中的angularjs部分怎样解析?

使用layPage分页后,在js文件中拼接html代码,代码里用了angular,但是到前台显示时解析不了,该怎样解决?(部分代码如下 )

$scope.jobList = re.data;
                
var nums = 3;  // 每页出现的数量
var pages = Math.ceil(re.data.length/nums);  // 得到总页数

var thisDate = function(curr){
                    var str = '<ul class="listpos" ng-repeat="job in jobList">', last = curr*nums - 1;
                    last = last >= re.data.length ? (re.data.length-1) : last;
                    for(var i = (curr*nums - nums); i <= last; i++){
                        
                        str += 
                        '<li class="listitem">'+
                        '<div class="clearfix jobtil">'+
                            '<a id="{{job}}" ng-click="doJobInfo()" target="_blank" href="">{{job.jobTitle}}</a>'+
                        '</div>'+

代码拼接完在前台显示时,{{job.jobTitle}}解析不出,,而是在页面直接显示{{job.jobTitle}},怎么破??

阅读 5.6k
6 个回答

我只给建议,推荐使用权json交互,可以把分页部分定义成 Directives

可以查一下Angularjs的文档,有个东西叫$compile..

使用指令 directive 和 template 封装一下,格式如下:

var app = angular.module("app", [])
    .directive("hello", function () {
        var option = {
            restrict: "AECM",
            template: "<ul class="listpos" ng-repeat="job in jobList">",
            replace: true,
            transclude: true
        };
        return option;
    })
    

页面用法:
<hello>test</hello>

<div class="invoice-notes" data-ng-bind-html="news.content"></div>
或许你值得拥有,data-ng-bind-html 取消对HTML片段转义,当然你需要将值设定为安全值
$scope.news.content = $sce.trustAsHtml($scope.news.content);

为了安全考虑div里不能直接绑定html.
解决方法同楼上,
ng-bind-html="news.content"
控制器里引入$sce,
$scope.news.content = $sce.trustAsHtml($scope.news.content);

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题