Ich habe eine Direktive erstellt, die eine PNG-Sequenz animieren wird und alles funktioniert gut, wenn ich in der Bild-URL fest, aber wenn ich es versuche Übergeben Sie eine dynamische URL Ich erhalte einen Fehler, dass $ sce es nicht erlaubt.
Hier ist meine Richtlinie Code:
module.exports = function() {
return {
restrict : 'E',
scope: {
height: '@height',
frames : '@frameCount',
src : '@src',
width : '@width'
},
link : function (scope, element) {
var currentPosition = 0;
var i = 1;
var fps = 1000/30; // Setting this to 30 frames per second.
element.css({
backgroundImage : 'url(' + scope.src +')',
height : scope.height + 'px',
width : scope.width + 'px'
});
setInterval(function() {
if(i < scope.frames) {
currentPosition = currentPosition + (parseInt(scope.height));
element.css('background-position-y', '-' + (currentPosition) + 'px');
i++;
}
}, fps);
}
}
Next meiner Ansicht füge ich die Weisung:
<png-sequencer src='assets/images/png-sequences/{{user.segment}}_{{user.condition}}.png' frame-count='12' height='37' width='64'></png-sequencer>
Jedoch bekomme ich folgende Fehlermeldung:
Angularjs: 13236 Fehler : [$ interpolate: noconcat] Fehler beim Interpolieren: assets/images/png-sequenzen/{{user.segment}} _ {{user.condition}}. png Strict Contextual Escaping verbietet Interpolationen, die c Verknüpfen Sie mehrere Ausdrücke, wenn ein vertrauenswürdiger Wert erforderlich ist.
Wenn ich die src durch hart codierte Werte wie "assets/images/png-sequenzen/day_rainy.png" ersetzen, dann funktioniert alles korrekt. Was muss ich tun, um die dynamische Quelle zuzulassen?