У меня возникает следующая проблема. Я пытаюсь создать директиву с некоторым шаблоном, как в примере вниз:Извлечь значение из области действия в директиве в angularjs
$templateCache.put("menuColumns.html",
"<div id=\"grid-table\">"+
"<table id=\"table-{{gridOptions.gridName}}\" class=\"table table-striped table-hover\" >" +
" <thead>"+
" <tr class=\"header cursor-hand\">"+
" <th ng-show=\"gridOptions.canDragDropRows\" style=\"width: 15px;\"></th>" +
" <th ng-repeat=\"itemColumn in gridOptions.gridColumnDefs \" " +
" ng-class=\"selectColumnStyle('{{itemColumn.field}}')\" >{{itemColumn.displayName}}</th>" +
" <th style=\"width: 50px;\"></th>"+
" </tr>"+
" </thead>"+
"</table></div>"
);
В моем контроллере у меня есть переменный, как это:
$scope.gridOptions = {
canDragDropRows: true,
gridName: 'items-list',
gridColumnDefs: [{ field: "Id", width: "25%", displayName: "Id"},
{ field: "Description", width: "25%", displayName: "Name" },
{ field: "Location", width: "25%", displayName: "Installation" },
{ field: "Equipment", width: "25%", displayName: "Equipment"}]
};
Как вы можете видеть в нг-классе внутри template, я пытаюсь вызвать функцию, называемую selectColumnStyle, и мне нужно передать в качестве параметра значение {{itemColumn.field}}.
Когда директива пытается выполнить рендеринг, я не получаю тех, у кого есть ng-класс. Кажется, что это не лучший способ передать параметры некоторым функциям.
Знаете ли вы, как это сделать? Это то, что мне нужно имя поля внутри функции.
Благодаря
Пожалуйста, покажите нам код директивы, или пример jsFiddle или Plunk. Функция selectColumnStyle() должна быть объявлена в вашей директиве. –
Привет @OZ_. Я понял, что что-то другое меняет мою директиву. Сейчас он работает после некоторых изменений кода (но не в разделе кода, о котором я просил). Это [jsFiddle] (http://jsfiddle.net/abottoni/JSysr/7/) – abottoni