2015-02-10 80 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>