В настоящее время я пишу директиву angular, которая использует шаблон в другом файле HTML и изолированный шаблон. Директива получает некоторую строку через @ в свою область, и это значение доступно в функции контроллера. Почему-то он недоступен через {{}} в шаблоне HTML. Почему это так? Как я могу это изменить? Я кое-что читал о шаблоне с использованием родительской области, но я не совсем это понимаю.
Вот пример кода:
angular.module('moduleName')
.directive('aGreatDirective', function () {
return {
restrict: 'E',
scope: {
mapid: '@'
},
templateUrl: "path/to/template.html",
controller: ['$scope', function (scope) {
console.log($scope.mapid); // is defined
}
}
});
И html код шаблона:
<div id="{{mapid}}"></div>
Результат в браузере точно такой же, как и должен быть:
<div id="theValueOfmapid"></div>
Спасибо за вашу помощь!
PS Вот jsfiddle: fiddle