当从根数据库延迟数据时,过滤ng-repeat

时间:2014-05-26 07:31:31

标签: javascript angularjs filter angularjs-ng-repeat

首先,对不起,如果我的英语不是很好。

我正在开发一个移动应用程序,我有一个过滤ng-repeat的问题。 数据从$ rootScope中的在线json文件(然后在本地存储)加载,并且应用的过滤器不起作用。

我app.js的一部分

   app.run(function($rootScope, $http, $location, dataService) {
            $rootScope.globalDatas = false;
            if($rootScope.globalDatas === false) {
                dataService.getGlobalDatas(reload).then(function(dataset){
                    $rootScope.globalDatas = dataset;
                }, function(error){
                    alert(error);
                });
            }
    });

dataService.js

    app.service('dataService', ['$q', '$http', 'saveFile',function($q, $http, saveFile) {
    var that = this;
    this.globalData = false;

        this.getGlobalDatas = function(reload) {
            var defered = $q.defer();
            if(reload)
                that.globalData = false;

            if (that.globalData !== false) { 
                defered.resolve(that.globalData);
            } else {
                var url = "My json url"
                $http.get(url).success(function(dataset, status) {
                    that.globalData = dataset; 
                    defered.resolve(dataset);
                }).error(function(data, status) { 
                    defered.reject("Erreur, le fichier de données n'a pas été trouvé, merci de mettre à jour l'application via la menu.");
                });
            }
            return defered.promise;
        };
    }]);

我的home.html。数据显示在此视图中

<section class="page">
    <div id="recherche">
        <input type="text" ng-model="recherche" placeholder="Recherche" class="clasicInput">
        {{recherche | json}}
    </div>
    <!--  | orderBy:'firstdate' -->
    <article class="elementListe" ng-repeat="element in datas | filter: {titre: recherche}" ng-click="goUrl(element.id)">
        <div class="affiche">
            <img src="{{getURl(element.affiche, 'evenement/'+element.id+'/affiche/')}}" alt="{{element.titre}}">
            <div></div>
        </div>
        <div class="contenue">
            <h1 ng-bind-html="element.titre | characters: nombreCaractere"></h1>
            <div class="date">
                <span ng-if="element.dates.length > 1">du {{getDate(element.firstdate)}} au {{getDate(element.dates[1].dateevent)}}</span>
                <span ng-if="element.dates.length == 1">le {{getDate(element.firstdate)}}</span>
            </div>
            <div class="lieu">
                {{globalDatas.lieu[element.id_lieu].titre}}
            </div>
        </div>
        <div class="fleche">
            <span class="glyphicon glyphicon-chevron-right"></span>
        </div>
    </article>
</section>

标题上的过滤器不起作用。有谁知道为什么?

0 个答案:

没有答案