javascript - angularjs ng 风格 : background-image isn't working

标签 javascript angularjs angularjs-directive angularjs-ng-repeat ng-style

我正在尝试通过使用 Angular ng-style 将背景图像应用于 div(我之前尝试过具有相同行为的自定义指令),但它似乎不是工作。

<nav
    class="navigation-grid-container"
    data-ng-class="{ bigger: isNavActive == true }"
    data-ng-controller="NavigationCtrl"
    data-ng-mouseenter="isNavActive = true; $parent.isNavActive = true"
    data-ng-mouseleave="isNavActive = false; $parent.isNavActive = false"
    data-ng-show="$parent.navInvisible == false"
    data-ng-animate="'fade'"
    ng-cloak>

    <ul class="navigation-container unstyled clearfix">
        <li
            class="navigation-item-container"
            data-ng-repeat="(key, item) in navigation"
            data-ng-class="{ small: $parent.isNavActive, big: isActive == true }"
            data-ng-mouseenter="isActive = true; isInactive= false"
            data-ng-mouseleave="isActive = false; isInactive= true">

            <div data-ng-switch on="item.id">

                <div class="navigation-item-default" data-ng-switch-when="scandinavia">
                    <a class="navigation-item-overlay" data-ng-href="{{item.id}}">
                        <div class="navigation-item-teaser">
                            <span class="navigation-item-teaser-text" data-ng-class="{ small: isScandinavia }">{{item.teaser}}</span>
                        </div>
                    </a>
                    <span class="navigation-item-background" data-ng-style="{ 'background-image': 'public/img/products/{{item.id}}/detail/wide/{{item.images.detail.wide[0]}}' }"></span>
                </div>

                <div class="navigation-item-last" data-ng-switch-when="static">
                    <div class="navigation-item-overlay">
                        <div class="navigation-item-teaser">
                            <span class="navigation-item-teaser-text">
                                <img data-ng-src="{{item.teaser}}">
                            </span>
                        </div>
                    </div>
                    <span class="navigation-item-background">
                        <img class="logo" data-ng-src="{{item.images.logo}}">
                    </span>
                </div>

                <div class="navigation-item-default" data-ng-switch-default>
                    <a class="navigation-item-overlay" data-ng-href="{{item.id}}">
                        <div class="navigation-item-teaser">
                            <span class="navigation-item-teaser-text">{{item.teaser}}</span>
                        </div>
                    </a>
                    <span class="navigation-item-background" data-ng-style="{ 'background-image': 'public/img/products/{{item.id}}/detail/wide/{{item.images.detail.wide[0]}}' }"></span>
                </div>

            </div>
        </li>
    </ul>
</nav>

不过,如果我确实尝试了一种背景颜色,它似乎工作正常。我也尝试了远程源和本地源 http://lorempixel.com/g/400/200/sports/,都没有用。

最佳答案

可以通过几种方式解析动态值。

用双花括号插值:

ng-style="{'background-image':'url({{myBackgroundUrl}})'}"

字符串连接:

ng-style="{'background-image': 'url(' + myBackgroundUrl + ')'}"

ES6 模板文字:

ng-style="{'background-image': `url(${myBackgroundUrl})`}"

关于javascript - angularjs ng 风格 : background-image isn't working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17252546/

相关文章:

轮次之间的 JavaScript 延迟

javascript - Sequelize 迁移 : update model after updating column attributes

javascript - 根据另一个对象中的键和属性从数组中删除对象?

javascript - AngularJS $scope 没有在 DOM 中更新

javascript - AngularJS中单个路由器的多个 View

css - Angular 嵌套指令排序

javascript - Node 以编程方式设置导入模块不可用的进程环境变量

javascript - Collection-Repeat 和 $ionicModal 奇怪的行为

css - 素材 css 按钮切断图标

javascript - 禁用 Angular Directive(指令)模板中的复选框