javascript - 如何使具有不同数据的两个 div 中的相同范围可用?

标签 javascript jquery html css angularjs

$rootScope.getPricesData = function (typ) {
        var data = {
            type: typ
        }
        $http({
            url: '...',
            method: 'POST',
            data: data
        }).then(function (res) {
            $rootScope.pricesData = res.data;
            console.log(res);
        })
    }

它的效果很好,html

<div ng-init="getPricesData('template')">info template</div>
<div ng-init="getPricesData('subscription_month')">info subscription_month</div>

我在控制台中看到这两个 div 关于订阅(不是模板和订阅)的信息,我正确地看到了这个数据,并且该函数被调用了两次(对于模板和订阅)。

我认为范围覆盖(但我不知道如何解决) 请帮忙

最佳答案

  • 您可以使用 Javascript ternary operator处理场景

    $rootScope.getPricesData = function (typ) {
        var data = {
            type: typ
        }
        $http({
            url: '...',
            method: 'POST',
            data: data
        }).then(function (res) {
            if(typ == 'template') ? $scope.templatePricesData = res.data : $scope.subscriptionPricesData = res.data;
        })
    }
    
  • 您可以创建一个空对象,然后在成功响应时将响应数据分配到对象的相应属性中。

    $scope.resData = {};
    $rootScope.getPricesData = function (typ) {
        var data = {
            type: typ
        }
        $http({
            url: '...',
            method: 'POST',
            data: data
        }).then(function (res) {
            $scope.resData[typ] = res.data;
        })
    }
    

关于javascript - 如何使具有不同数据的两个 div 中的相同范围可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279205/

相关文章:

html - 如何重置输入的默认样式 [type ="text"] :focus in Chrome and Safari?

javascript - 我可以更改 javascript 数组项目中的属性 (JSON.stringify) 吗?

javascript - 使用 jQuery $().find 解析带有命名空间的 XML

javascript - 如何将 setTimeout 添加到这种类型的动画中?

javascript - 使用 Javascript 中断 Mac 平滑滚动

javascript - 在javascript中将具有嵌套路径和数组的表单序列化为JSON

JavaScript - 在变量对象内部调用变量对象

php - JQUERY 插入数据库后刷新 .val()

javascript - 如何让 HTML5 视频在加载完成后淡入淡出?

javascript - 使 Gif 文件在用户滚动时播放,然后停止