I have a directive with a template and inside this template I have a <script> tag using variables of the directive.
Directive:
(function () {
'use strict';
angular
.module('app.components')
.directive('picker', Picker);
/*@ngInject*/
function Picker() {
return {
restrict: 'E',
controller: PickerController,
controllerAs: 'vm',
bindToController: true,
templateUrl: 'picker.html',
transclude: true,
scope:{
inputId: '@'
}
};
/*@ngInject*/
function PickerController() {
/*jshint validthis: true */
var vm = this;
}
}
})();
Template:
<div>
<div>
id: {{vm.inputId}}
<ng-transclude></ng-transclude>
</div>
<script>
console.log({{vm.inputId}});
</script>
</div>
Usage:
<picker input-id="myInput"> <!-- something... --> </picker>
The problem is that the {{vm.inputId}} inside the <script> tag isn't filtered so {{vm.inputId}} doesnt become "myInput". Everything works outside the <script> tag, id: {{vm.inputId}} becomes id: myInput
Is it just not possible to put "variables" inside a script tag?