2016-08-03 4 views
2

Я довольно новичок в AngularJS, и у меня есть текущая проблема.Проблемы с AngularJS

У меня есть следующие в моем контроллере

//Define the programs list table columns 
    $scope.programListColumns = "[{ Name: 'Name'},{ Status: 'Status'},{ CreatedByUserName: 'Created By'},{ ModifiedDate: 'Modified'},{ ModifiedByUserName: 'Modified By'}]"; 

Я хотел бы использовать это в качестве columnmap для моего элемента в HTML, как так ...

<table-helper datasource="programsList" columnmap="{{programListColumns}}"></table-helper> 

Моя директива вполне но я в основном строю таблицу из своего источника данных и сопоставляю данные, которые я хочу от нее, используя мою таблицу, создавая заголовки и строки для каждого элемента, если это имеет смысл.

Вот моя директива сокращенная немного ...

(function(){ 
var app = angular.module("MdfAngularApp"); 
var tableHelper = function() { 
    //Initiate variables for directive 
    //var template = '<div class="tableHelper"></div>', 
    var link = function(scope, element, attrs) { 
      var headerCols = [], 
       tableStart = '<table>', 
       tableEnd = '</table>', 
       table = '', 
       visibleProps = [], 
       sortCol = null, 
       sortDir = 1; 

      //Watch the datasource for changes. 
      scope.$watchCollection('datasource', render); 

      ... Functions go here ... 
return { 
     restrict: 'E', 
     replace: true, 
     scope: { 
      columnmap: '@', 
      datasource: '=' 
     }, 
     link: link, 
    } 
}; 

app.directive('tableHelper', tableHelper); 
}()); 

Doing выше я получаю пустую строку как мой columnmap.

Теперь, если я кладу HTML, как этот

<table-helper datasource="programsList" columnmap="[{ Name: 'Name'},{ Status: 'Status'},{ CreatedByUserName: 'Created By'},{ ModifiedDate: 'Modified'},{ ModifiedByUserName: 'Modified By'}]"></table-helper> 

и изменить изолят сферу columnmap собственности на «=», все в порядке. Я просто пытаюсь быть более инкапсулированным, чем это.

Любая помощь была бы принята с благодарностью.

ответ

1

Моя проблема заключалась в том, что я не разбирал мою карту столбцов как объект. Когда я это сделал и предоставил действительный json, мое решение сработало.

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

  • Нет связанных вопросов^_^