2014-09-15 3 views
0

У меня есть данные с новыми строками (\ n). Мне нужно разбить его на массив, чтобы показать его в списке.Невозможно разбить строку на массив с 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/

Там он работает. Но не в угловой.

Любые идеи?

Update

Вот полный код:

$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 (который очищает объект), а затем разобрать его обратно. Нет эффекта.

Update 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; 
    }; 
    }); 
+0

просто зондирование мысли, но любые из разделенной логики требует JQuery? Если это так, Угловая только включает в себя некоторые JQuery, поэтому, возможно, в том числе библиотека JQuery поможет, если функции будут одинаковыми, а одно просто не работает только в угловом. – Austin

+0

@ Аустин, который не имеет никакого смысла. jQuery не имеет методов манипуляции строкой и не имеет отношения к вопросу – charlietfl

+0

, создавая демонстрацию, используя угловую, которая показывает, где она не работает. Ваши простые методы ведения журналов не говорят нам много. – charlietfl

ответ

0

Я бы рекомендовал заменить символ новой строки с другим характером # или |, а затем делает свой раскол: desc = description.replace(/\n/,'#'); desc.split('#');

+0

Отсутствие влияния на замену – Per

+0

Я отредактировал его. Вы должны сохранить вывод '.replace()' в var. Ты сделал это? – flybear

+0

Yeha. Нет эффекта. Такая же проблема, как в split. Может делать это с любым знаком, но не с \ n. – Per

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

+0

Не работает. См. Обновление. – Per

Смежные вопросы