我有一个返回图像URL的服务,并且使用以下代码进行调用:
angular.forEach(results, function (item) {
item.img = "/images/searchItem.jpg";
$http.post("https://my.api.com/?id=" + item.id).success(
function (url) {
item.img = url;
});
});
在我看来,我曾经有一个带有ng-src属性的图像,它的工作原理非常像这样:
<img ng-src="{{item.img}}">
然后,我决定在SPAN上使用背景图片:
<span ng-style="{'background':'transparent url({{item.img}})'}"></span>
现在该流程仅在第一次运行时有效,之后我可以在控制台中看到以下html
<span ng-style="{'background':'transparent url(http://expertsimages.liveperson.com/images/rating/rate10.gif)'}" style="background-image: url(https://fb.lp-chat.com/images/searchItem.jpg); background-color: transparent; background-position: initial initial; background-repeat: initial initial;"></span>
这表示该变量已更新,但是html仍处于其初始状态。
我尝试在成功发布后致电apply / digest,但已经遇到了错误 $ digest(正在进行中)
(有意义)。有趣的是,在进行常规摘要(例如,对其他ui进行更改)之后,将应用样式,并且我看到了正确的图像。
我在这里想念什么?
更新: 我创建了一个 JS小提琴
来演示此问题……对我而言似乎像是一个有角度的错误。
我也遇到了这个问题。而不是使用进行求{{ }}
值,而是使用字符串+值串联。
这将起作用:
<span ng-style="{'background':'transparent url(' + item.img + ')'}"></span>)
这是您的 提琴 的工作版本
****
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章。欢迎在GitHub上关注我,一起入门和进阶前端。 以下是正文。 background系列属性 常见背景属性 CSS样式中,常见的背景属性有以下几种:(经常用到,要记住) background-color:#ff99ff; 设置元素的背景颜色。 background-image:url(images/2.gif); 将图像设置为背景。
问题内容: 我正在尝试通过使用angular将背景图像应用于div (我之前尝试过使用具有相同行为的自定义指令),但是它似乎没有用。 不过,如果我尝试使用背景色,则效果似乎很好。我也尝试了远程源和本地源,但都没有用。 问题答案: 正确的语法是: ng-style的正确语法是:
问题内容: 我正在尝试使用array 更新 ng-grid。我 这里 有个小伙伴。 添加按钮添加新行。更新按钮更新阵列中的最后一项。 选择一行并按更新按钮。没发生什么事。 按添加按钮。现在,UI将使用新元素&以及以前更新的元素进行更新。 相同的行为一次又一次地重复。 我试过了。我得到: “错误:$ apply已经在进行中” 我什至尝试通过将块放置在呼叫中来进行尝试。同样是同样的错误! 任何指针!
问题内容: 这是我的HTML: 当我在框中输入内容时,该模型会通过2向绑定机制进行更新。甜。 但是, 当我通过JQuery执行此操作时… 它不会更新模型。为什么? 问题答案: Angular不知道这种变化。为此,您应该在以下位置致电或进行更改: 看到这个以更好地了解 脏检查 更新 :这是一个示例
主要内容:1. background-color,2. background-image,3. background-repeat,4. background-position,5. background-attachment,6. background-size,7. background-origin,8. background-clip,9. background在制作网页时我们往往需要在网页中添加一些背景颜色、背景图像让网页更加美观,吸引访问者的眼球。CSS 中提供了一系列用于设置 HT
问题内容: 由于某些原因,我无法使用以下命令更改元素的样式: 我敢肯定,因为它返回一个DOM元素。另外,这可行: (我发现的所有内容都与ngStyle有关,但我不认为这是我想要的?) 我应该使用其他东西吗? 如果是这样:什么?为什么不起作用? 问题答案: 根据 文档 : 注意:Angular中的所有元素引用始终使用jQuery或jqLite进行包装; 它们永远不是原始的DOM引用。 因此,该属