Я искал и не смог найти точного ответа на этот конкретный вопрос.
у меня есть директива
(function iife () {
var app = angular.module("MdfAngularApp");
app.directive("actionButton", ['$compile', function ($compile) {
var template = '<button class="icon" ng-disabled="!{{disable}}" ng-click="click()"><svg class="{{svgClasses}}" stroke="black"><use xlink:href="constructUseHref()"></use></svg><span>{{btnName}}</span></button>'
return {
restrict: "E",
scope: {
action: '&',
sprite: '@',
btnName: '@',
svgClasses: '@',
disable: '@',
actionParams: "="
},
replace: "true",
link: function (scope, element, attrs) {
var spriteBaseUrl = "./Content/Images/mdf-sprite-sheet.svg";
template = $compile(template)(scope);
element.append(template);
scope.click = function () {
scope.action(scope.actionParams);
}
scope.constructUseHref = function () {
return spriteBaseURL + "#"+ scope.sprite;
}
}
}
});
})();
Мой html
<action-button action-params="{user : user}" disable="{{manageRoleEnabled}}" svg-classes="small-icon" action="removeuser(user)" sprite="icon-close"></action-button>
Элемент находится в таблице, и элемент tr имеет ng-repeat с пользователем в userList из моего контроллера. Контроллер определяется через мой stateProvider.
Проблема, с которой я сталкиваюсь, когда пытаюсь это сделать, заключается в том, что в моем html xlink:href в элементе <use>
моего шаблона просто указано, что buildUseHref(). Я что-то упустил в своем коде? Пожалуйста помоги :)
Заранее спасибо!