控制器功能不适用于ng-include文件

时间:2015-12-27 21:23:59

标签: angularjs angularjs-ng-include ng-controller

我正在尝试使用" minisCtrlOverall"我的ng-include文件中的控制器,但我的控制器中没有任何功能适用于包含的文件,除非我将ng-controller放在实际的overall.html文件中。我想要做的是访问" ring-fill"来自我的控制器的我的overall.html文件中的类。我想添加课程" active"所有"环填充"但它不起作用。我猜这不起作用,因为包含的文件是在控制器运行后出现的?有谁知道如何解决这个问题?

控制器:

angular.module('ciscoImaDashboardAdmin',[])
.controller('minisCtrlOverall', function ($scope, $rootScope, dummyData) {
    $scope.overallOn = true;

    $scope.switchView = function(element) {
        var value = element.target.attributes['value'].value;

        if(value == "overall") {
            $scope.overallOn = true;
            $scope.swimlaneOn = false;
        }
        else if(value == "swimlane") {
            $scope.swimlaneOn = true;
            $scope.overallOn = false;
        }
    };


    var totalRings = 9;
    var maxScore = 10;

    var data_overall = {
        average_score:  6
    }

    var ringToHighlight = Math.floor((data_overall.average_score/maxScore)*totalRings); //round down

    var i = 0;
    var rings = [];
    var ringClass = 'path.ring-fill:not(.ring-border)';

    $(ringClass).each(function(){
        rings.push($(this)[0]);
    });

    while( i < ringToHighlight) {
        fillPath(i);
        i = i + 1;
    }



    function fillPath(i) {
        if(i < ringToHighlight) {
            var selectedRing = $(rings[i]);
            selectedRing.attr("class", "ring-fill active");
        }
    }

});

HTML:

<div class="row mini" ng-show="overallOn" ng-controller="minisCtrlOverall">
   <div class="col-sm-3">
     <div ng-include="'svgs/overall.html'"></div>
   </div>
</div>

0 个答案:

没有答案