Angularjs ng重复中的角度范围问题

Angularjs ng重复中的角度范围问题,angularjs,scope,ng-repeat,Angularjs,Scope,Ng Repeat,当我选择一个项目时,动态地将项目添加到列表中时,我有一个ng repeat可以正常工作。它正确地打印值。但是,当我添加一个指令(具有隔离作用域)时,它只打印第一项的详细信息 .html var promise=$interval($scope.getData,3000); } 指令:链接到ng动态图指令(太大,无法在此处发布) 正如@NewDev所提到的,最有可能的罪魁祸首是声明: <ng-dygraphs style="height:350px;" data="graph.data"

当我选择一个项目时,动态地将项目添加到列表中时,我有一个ng repeat可以正常工作。它正确地打印值。但是,当我添加一个指令(具有隔离作用域)时,它只打印第一项的详细信息

.html

var promise=$interval($scope.getData,3000); }

指令:链接到ng动态图指令(太大,无法在此处发布)


正如@NewDev所提到的,最有可能的罪魁祸首是声明:

 <ng-dygraphs style="height:350px;" data="graph.data" options="graph.options" legend="graph.legend" > </ng-dygraphs>

具体地说,您正在使用似乎不存在的数据创建指令,即对象图形。在图形的作用域中没有定义变量

我假设您从中复制了代码,但需要传递到数据、选项和图例中的是在范围中定义的值


这有意义吗?

您是从代码中复制的吗?如果是这样,则自定义指令的结束标记与开始标记不同。direc1./dicrec1。不确定这是否是问题所在,但什么是
val
?它与ng repeat完全无关。并显示
direct1
的代码,否则我们不知道您的指令是如何输出
“name1”
1的。指令为“direc1”-剪切粘贴错误。2. 'val'与ng repeat无关。它是在指令..指令('ngDygraphs',['$window','$sce',函数($window,$sce){return{restrict:'E',scope:{//隔离作用域数据:'=',选项:'=',图例:'=?'}中定义的,模板:'Lot of html code',//Outer div link:function(scope,element,attrs){//Other code her}您没有指出
val.data
与其余代码的关系。据我们所知,
val.data
中的数据是:
[{name:'name1},{name:'name1},{name:'name1'}]
有一个名为$scope.graph的变量,其中包含控制器中定义的数据/选项/图例。我只是没有发布该代码。这是我代码中的第一行。你介意用该数据更新问题吗?它与该行有关,但不是孤立的作用域。孤立的作用域很简单,是一个不依赖的新作用域在父组件的作用域上。感谢您的建议。问题在于指令和“图例”的使用,它也在另一个指令中定义。将代码更改为使用不同的作用域变量而不是图例,现在可以正常工作。太棒了!很高兴您发现了问题!您介意回答它并将其标记为“答案”吗?只要如果有人有类似的问题,他们知道重新访问他们所有的代码!
.controller('ngDygraphCtrl', function ($scope, $http, $timeout, $modal, $interval) {
$scope.graph = {
        data: [ "X"
        ],
        options: {
           axisLineColor: "#FFFFFF",
           drawPoints: true,
           pointSize : 1,
           strokeWidth : 0.5,
           connectSeparatedPoints: true,
           axes: {
                     x: {
                         valueFormatter: Dygraph.dateString_,
                         axisLabelFormatter: Dygraph.dateAxisFormatter,
                         ticker: Dygraph.dateTicker
                     }
                 },
            colors : ["#ffff00",  "#FF3300", "#7920FF", "#ff0000", "#ff00ff"] 
        } ,
        legend: { 
        } 
    };

    $scope.chartsx = [];
    $scope.graphsx = [];

    $scope.graphsx = [{name: "name1", size: "col-lg-12"}, {name: "name2", size: "col-lg-6"}]
    // Get User state
    $scope.addGraph = function() {
        var sel = $scope.selected.name;
        for ( var ss in $scope.graphsx) {
            if ( $scope.graphsx[ss].name == sel ) {
                $scope.chartsx.push($scope.graphsx[ss]);
               // $scope.charts.push({name: sel, size: "col-sm-6"});
            }
        }        
    }
    $scope.getData = function() { $http.get('http://localhost:8080/getDygraphData?q=' + queries)
            .success(function(data) {        

            $scope.graph.data = data;

        }).error(function (data, status){
            console.log("Error status : " + status + " " + data);
        }) };
 <ng-dygraphs style="height:350px;" data="graph.data" options="graph.options" legend="graph.legend" > </ng-dygraphs>