2015-02-10 65 views
0

即时尝试将字符串解析为字符数组,周围每个字符与<span></span>。提交解析工作的函数和每个字符都围绕着<span>标记。 功能解析:

app.controller('tableCtrl',function($scope,$sce) { 

    //parse cron_format and edit each digit individually 
    $scope.parse = function (cron_format){ 
     var parsed = cron_format.split(" "); 
     for(var i = 0; i < parsed.length; i++) { 
      parsed[i] = '<span>' + parsed[i] + '</span>'; 
     } 
    $scope.parsedCron = $sce.trustAsHtml(parsed.toString()); 
    return $scope.parsedCron; 
    } 
}); 

<td>它的这个字符串得到什么IM:

<span>*/3</span>,<span>*</span>,<span>*</span>,<span>*</span>,<span>*</span>

为什么不会在<span>呈现? 这里是我尝试添加结果表:

<tbody ng-repeat="(user_id,script_id) in data | filter: test"> 
     <tr ng-repeat="(script_id, cron_format) in script_id"> 
      <td>{{user(user_id)}}</td> 
      <td>{{script(script_id)}}</td> 
      **<td>{{parse(cron_format)}}</td>** 
     </tr> 
    </tbody> 
+0

目前还不清楚是什么你想在这里做的; 'parsed'是一个数组,但是你正试图将它传递给函数'$ sce.trustAsHtml',该函数只对字符串进行操作。 – Claies 2015-02-10 13:57:06

+0

好的,所以我把最后两行改为'$ scope.parsedCron = $ sce.trustAsHtml(parsed.toString()); 返回$ scope.parsedCron;',其结果是:' */3 * * * *'在​​,再次不会安德 – 2015-02-10 14:03:12

+0

你不应该返回函数中的'$ scope.parsedCron'。如果仅返回一个字符串值,并将其分配给控制器内的任何位置的$ scope属性,会更好。 – 2015-02-10 14:07:58

回答

1
app.controller('tableCtrl',function($scope) { 

    $scope.letters = function(cron_format){ 
    return cron_format.split(''); 
    } 
}}); 

模板:

<tbody ng-repeat="(user_id,script_id) in data | filter: test"> 
    <tr ng-repeat="(script_id, cron_format) in script_id"> 
     <td>{{user(user_id)}}</td> 
     <td>{{script(script_id)}}</td> 
     **<td><span ng-repeat="l in letters(cron_format)">{{l}}</span></td>** 
    </tr> 
</tbody>