首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS -图像未在ng-template中渲染

AngularJS -图像未在ng-template中渲染
EN

Stack Overflow用户
提问于 2015-08-25 03:59:45
回答 2查看 967关注 0票数 0

在我的ng-template中,我有一个img标记,我试图将其应用于背景图像。在下面找到模板:

代码语言:javascript
复制
<script type="text/ng-template" id="myModalContent.html">
...
    <a style="margin-left: 20px;" href ="">
        <img id = "printIcon" style="width: 64px;height: 70px">
    </a>
...
</script>

我正在.css文件中应用.png图标:

代码语言:javascript
复制
#printIcon{
    background-image: url("../img/printingIcon.png");
    background-size: 64px 70px;
}

当在模式对话框中打开ng-template时,会发出对图像的请求(我在network选项卡中看到),并正确加载,但不会应用于DOM。即使检查img标记也具有与printingIcon.png文件相同的背景图像属性,并且可以正确地预览它。在使用ng-template将图像应用到DOM时,需要做些什么特殊的事情吗?或者我做错了什么?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-08-25 04:33:16

实现所需内容的一种更“角度”的方法是使用指令操作DOM。

如下所示:

代码语言:javascript
复制
var app = angular.module('app',[]);
app.controller('ctrl', function($scope){
});

app.directive('backImg', function(){
    return function(scope, element, attrs){
        var url = attrs.backImg;
        element.css({
            'background-image': 'url(' + url +')',
            'background-size' : 'cover'
        });
    };
});

查看full Fiddle

票数 1
EN

Stack Overflow用户

发布于 2015-08-25 05:16:46

如果您不反对将文件引用放在您的标记中,那么这将是可行的:

代码语言:javascript
复制
<img ng-style="{'background-image':'url(/img/printingIcon.png)'}" width="64" height="70">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32190744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档