1

组件文件从 csv 文件中获取数据,并且它具有指向另一个 html 文件的 templateUrl。此 html 文件包含一个脚本标记,其中发生了一些功能。我想从 HTML 文件中脚本标记的组件文件中的 response.data 访问数组。

angular.module("keyMetric",[])
.component("keyMetric",{
    templateUrl : 'keymetric/keymetric.template.html',
    controller : function control($http) {
        $http.get('customers.csv').then(function(response){
            var arr = response.data;
            var arrsplit = arr.split(',');
        });
    }
});

我想访问 keymetric.template.html 文件中脚本标记中的 arrsplit 变量

4

1 回答 1

0

使用$rootScope.

$http.get('customers.csv').then(function(response){
            var arr = response.data;
            var arrsplit = arr.split(',');
            $rootScope.datareceived = arrsplit;
        });

现在在 html

像访问一样{{$root.datareceived[0]}}

在脚本中访问范围变量

angular.element(document.querySelector('[ng-controller="controllername"]')).scope().yourscopevariable

或通过使用 jquery

var whateveryouwant = $('[ng-controller="controllername"]').scope().yourscopevariable;

这是在角度上下文之外获取范围变量的通用方法

function getScope(ctrlName) {
    var sel = 'div[ng-controller="' + ctrlName + '"]';
    return angular.element(sel).scope();
}

这可以通过传递控制器名称来调用

var $scope = getScope('ctrl');
于 2016-10-13T17:54:57.587 回答