我必须在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;
}
}
有人知道吗?
谢谢。
答案 0 :(得分:2)
//参见以下代码示例,了解如何使用指令
// 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>