AngularJS передать переменную в директиву - PullRequest
0 голосов
/ 02 июля 2018

Мне нужно создать некоторую директиву в приложении AngularJS, и мне нужно передать переменные из моего контроллера в директивы.

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

Вот моя директива:

angular
.module('thermofluor')
.directive('tablePlate', tablePlate)

tablePlate.$inject = ['$timeout', '$q'];

function tablePlate( $timeout, $q )
{
var directive = {
    link: link,
    restrict: 'E',
    template: '<h1>TEST</h1>'
};

return directive;

function link(scope, element ) {

    return;

}

}

У кого-нибудь есть идея?

Спасибо.

1 Ответ

0 голосов
/ 02 июля 2018

// см. Этот пример кода, чтобы понять, как использовать директивы

// directive example
angular.module('thermofluor').directive('tablePlate', function(){
return {
    restrict: 'E',
    scope: {
        arrayOfChecks: '='
    },
    template: '<h1>TEST</h1>' + htmlTable,
    link:  function(scope, element, attrs, ctrl){

    }
}
});

var htmlTable = 
'<table>' +
'   <tr>' +
'       <th>Name</th>' +
'       <th>Value</th>' +
'       <th>Active</th>' +
'   </tr>' +
'   <tr ng-repeat="c in arrayOfChecks">' +
'       <td>{{c.name}}</td>' +
'       <td>{{c.value</td>' +
'       <td><input type="checkbox" ng-model="c.active"></td>' +
'   </tr>' +
'</table>';

// controller
angular.module('thermofluor').controller('myController',  function(){
$scope.myListOfChecks = [{name: 'A', value:'A value', active: false},
                    {name: 'B', value:'B value', active: true},
                    {name: 'C', value:'C value', active: false},
                    {name: 'D', value:'D value', active: true}];
});

// html

<div class="row" ng-controller="myController">

<table-plate array-of-checks="myListOfChecks"></table-plate>

</div>
...