Я довольно новичок в 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 собственности на «=», все в порядке. Я просто пытаюсь быть более инкапсулированным, чем это.
Любая помощь была бы принята с благодарностью.