javascript - AngularJS - 重新加载 ng 风格的背景图像

标签 javascript html css angularjs

我需要动态更改 div 的 ng 样式背景吗?

分区:

<div ng-style="{'background-image': 'url({{candidate.image}})'}">
    {{candidate.name}}
</div>

Controller :

angular.module("MyModule")

.controller("MyController", function($scope) {
    $scope.candidate = {
        "image" : "myurl.png",
        "name" : "My Name"
    };

    $scope.changeCandidate = function() {
        $scope.candidate = {
            "image" : "anotherurl.png",
            "name" : "Another Name"
        };
    };
});

当按钮触发 changeCandidate() 函数时,显示的名称从 My Name 变为 Another Name 但 ng 的背景图像-风格保持不变

最佳答案

这是工作示例:

https://jsfiddle.net/px3w7w3u/1/

当您使用 ng 风格时,使用带有键值对的对象并传递它。 在你的情况下你应该有这样的东西:

$scope.candidate = {
        "style" : {
            backgroundImage: "url(myurl.png)"
        },
        "name" : "My Name"
    };

$scope.changeCandidate = function() {
    $scope.candidate = {
        "style" : {
           backgroundImage: "url(anotherurl.png)"
         },
        "name" : "Another Name"
    };
};

然后在 html 中:

<div ng-style="candidate.style">
    {{candidate.name}}
</div>

需要指出的一点是,如果您需要破折号使用驼峰式大小写 - 与您的案例中的指令和组件相同 backgroundImage 转换为 background-image css:

更多信息:

https://www.w3schools.com/angular/ng_ng-style.asp

关于javascript - AngularJS - 重新加载 ng 风格的背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46337825/

相关文章:

javascript - 带有提交按钮的表单内的 onClick 函数会导致错误

css - css中如何改变Title标签的样式?

html - 如何从中心创建 CSS 渐变?

javascript - oop 从子类调用父函数

javascript - 为什么 Angular.js 中没有打开弹出屏幕?

javascript - 由于正在加载modernizr,单击时表单未提交

css - 带有粘性页脚的居中注册表单框,调整大小问题

javascript - JSX 中的多行电子邮件正文

javascript - 输入焦点上的颜色表列

html - CSS 文件未在 Safari 中加载