无法使用\ n将字符串拆分为数组

时间:2014-09-15 15:28:14

标签: javascript angularjs

我有新行的数据(\ n)。我需要将它拆分为一个数组,以便在列表中显示它。

      $scope.proposal = actionProposal;
      var description = actionProposal.ap_description;
      console.log(description.split('#')); //Works
      console.log(description.split('\n')); //Not working

我在这里手动尝试了:

http://jsbin.com/yakosavediye/1/

它有效。但不是有角度的。

有什么想法吗?

更新

以下是完整代码:

$scope.openDetailModal = function(ap_id){
      $modal.open({
        templateUrl: './template/modal/detail-view.html',
        resolve:{
          actionProposal: function(SingleEnergyActionProposalLoader){
            return new SingleEnergyActionProposalLoader(ap_id);
          }
        },
        controller:function($scope, $modalInstance, actionProposal){
          $scope.proposal = actionProposal;

          var description = actionProposal.ap_description;
          var desc = description.split('\n');
          console.log(desc);

          $scope.cancel = function () {
            $modalInstance.dismiss('cancel');
          };
        }
      });
    };

如果我用手写对象替换我的决心,那么它可以工作。所以它与装载机有关。我还试图做一个angular.toJson(它清理对象),然后再解析它。没效果。

更新2 这是我的装载机

.factory('EnergyActionProposal', function ($resource) {
    return $resource('/api/actionproposals/:ap_id', {'ap_id': '@ap_id'});
  })
  .factory('SingleEnergyActionProposalLoader', function(EnergyActionProposal, $q){
    return function(ap_id){
      var delay = $q.defer();
      EnergyActionProposal.get({ap_id: ap_id}, function(energyActionProposal) {
        delay.resolve(energyActionProposal);
      }, function () {
        delay.reject('Unable to fetch energy action proposal');
      });
      return delay.promise;
    };
  });

3 个答案:

答案 0 :(得分:0)

我建议您使用其他字符#|替换换行符然后进行拆分:desc = description.replace(/\n/,'#'); desc.split('#');

答案 1 :(得分:0)

试试这个:

var test = 'Avstängning av 205-LB1 under helger.\n# Lågflödesdrift för 205-LB5 natt och helger.\n# Anpass drift högfart för 205-LB7 till verksamhetstid.\n# Natt & helgavstängning för 255-LB1.\n# St';

t = test.replace(/\n/,'#');

console.log(t);

http://jsbin.com/kifawuvapewo/1/edit

答案 2 :(得分:0)

你有没有试过逃避\ n?

description.split('\\n')

Splitting by \n character doesn't seem to work