我有一個帶模板的指令,在這個模板中我有一個<script>
標簽,使用該指令的變量。
指示:
(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;
}
}
})();
模板:
<div>
<div>
id: {{vm.inputId}}
<ng-transclude></ng-transclude>
</div>
<script>
console.log({{vm.inputId}});
</script>
</div>
用法:
<picker input-id="myInput"> <!-- something... --> </picker>
問題是<script>
標記內的{{vm.inputId}}未被過濾,因此{{vm.inputId}}不會成為“myInput”。 一切都在<script>
標記之外, id: {{vm.inputId}}
變為id: myInput
是不是可以將“變量”放在腳本標記中?