在运行时更改AngularJs中背景图像的最佳方法

Posted

技术标签:

【中文标题】在运行时更改AngularJs中背景图像的最佳方法【英文标题】:Best approach to change background image in AngularJs at runtime 【发布时间】:2015-11-11 00:50:43 【问题描述】:

我想创建允许我更改任何部分的背景图像的通用功能。经过提供的选项后,我发现了这两种方法。想要选择更改图像的最佳方法,因为在单个页面上我想多次更改背景设施。它将提供给四到五个部分。

接近

    使用指令检查此堆栈溢出link。

    还有另一种角度范围变量的方法,我们可以在运行时更新。

    <div ng-style="'background-image': 'url(/images/' + backgroundImageUrl + ')'"></div>
    

必需的用法(关于指令)

<body>
    <section backgroundImage url="backgroundImageUrl1">
        ...
    </section>
    <section backgroundImage url="backgroundImageUrl2">
        ...
    </section>
    <section backgroundImage url="backgroundImageUrl3">
        ...
    </section>
    <section backgroundImage url="backgroundImageUrl4">
        ...
    </section>
</body>

如上所示,我将为每个部分更新 background-image 属性。如果在 CSS 文件中设置这些属性,它将减少加载图像的时间,即如果我们直接在 html 中添加内联 css 样式,所有图像将在 DOM 加载时加载。它将向服务器发出额外请求以获取图像并将它们加载到 DOM 中。我想遵循可以减少我的 SPA(单页应用程序)加载时间的策略。

【问题讨论】:

backgroundImage url="backgroundImageUrl2" 这是最好的选择。和可重用的代码 【参考方案1】:

我认为使用&lt;div ng-style="'background-image': 'url(/images/' + backgroundImageUrl + ')'"&gt;&lt;/div&gt; 应该更有效。

你不会引入另一层复杂性,指令创建范围,观察和消化,指令也必须在开始时编译。

使用 symple ng-style 以及来自控制器属性的一些特定 url 应该只请求该特定的活动图像。因此,我认为它应该是最佳解决方案。

【讨论】:

以上是关于在运行时更改AngularJs中背景图像的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

更改 JButtons 背景的最佳方法

通过 angularJS ng-style 可变背景图像

在AngularJs中使用ngStyle动态刷新背景图像

AngularJS中ng-src的图像加载事件

Qt Quick - 在组件状态更改时动画图像转换的最佳方法是啥?

AngularJS/Javascript 中的本地图像路径