AngularJS - 在将新值设置为数组后查看未更新

时间:2014-03-05 01:11:47

标签: javascript arrays angularjs angularjs-scope angularjs-ng-repeat

我有2个控制器,第一个(EventosListCtrl)完美地为我工作,向我显示GET指示的数据列表,但是当我按下按钮带来数据显示在第二个控制器(FuncionesListCtrl)时,没有什么都没告诉我,如果我做console.log()告诉我,如果有数据。

我留下程序代码,评论了GET请求,但留下了JSON响应,因为我无法在jsFiddle中运行它。

文件(不在jsfiddle中运行):http://jsfiddle.net/taaEq/

var BoleteraWizardControllers = angular.module('BoleteraWizardControllers', []);

BoleteraWizardControllers.controller('EventosListCtrl', ['$scope', 'CartEventos', 'Api',

function ($scope, CartEventos, Api) {
    // CartEventos.eventosList = Api.get({action:'eventos', id:'ALL'});
    CartEventos.eventosList = [{
        "id_evento": "1",
            "nombre": "Babasonicos en Concierto",
            "descripcion": "Gira La Lanza",
            "fecha_inicio": "2013-12-05 00:00:00",
            "fecha_fin": "2013-12-06 00:00:00",
            "personas_id_persona": null,
            "esquemas_id_esquema": "1"
    }, {
        "id_evento": "5",
            "nombre": "Paté de Fuá",
            "descripcion": "Descripcion del evento",
            "fecha_inicio": "2014-01-31 00:00:00",
            "fecha_fin": "2014-01-02 00:00:00",
            "personas_id_persona": null,
            "esquemas_id_esquema": "1"
    }, {
        "id_evento": "9",
            "nombre": "Teatro Roma",
            "descripcion": "",
            "fecha_inicio": "2014-02-05 00:00:00",
            "fecha_fin": "2014-02-05 00:00:00",
            "personas_id_persona": null,
            "esquemas_id_esquema": "1"
    }, {
        "id_evento": "11",
            "nombre": "Enrique Bunbury en Concierto",
            "descripcion": "",
            "fecha_inicio": "2014-02-27 00:00:00",
            "fecha_fin": "2014-03-01 00:00:00",
            "personas_id_persona": null,
            "esquemas_id_esquema": "4"
    }, {
        "id_evento": "12",
            "nombre": "TEATRO ROMA",
            "descripcion": "",
            "fecha_inicio": "2014-02-07 00:00:00",
            "fecha_fin": "2014-02-07 00:00:00",
            "personas_id_persona": null,
            "esquemas_id_esquema": "5"
    }];
    $scope.eventos = CartEventos.eventosList;

    // Devuelve la lista de funciones del evento indicado
    $scope.upFuncionesList = function (id_evento) {
        // CartEventos.funcionesList = Api.get({action:'funciones', id:id_evento});
        CartEventos.funcionesList = [{
            "id_funcion": "1",
                "eventos_id_evento": "1",
                "nombre": "Función Jueves 5 de Diciembre 2013",
                "descripcion": "",
                "fecha_inicio": "2013-12-05 20:00:00",
                "id_evento": "1",
                "evento": "Babasonicos en Concierto"
        }];
    }
}]);


<div data-ng-app="Boletera">
    <fieldset>
        <!-- Evento -->
        <div class="step-pane active" id="evento" data-ng-controller="EventosListCtrl">
            <div id="form-content">
                <fieldset>
                    <div class="row contendScroll">
                        <div class="row">
                            <form class="form-search">
                                <input type="text" placeholder="Introduzca su búsqueda" data-ng-model="query_evento.nombre" class="input-medium search-query">  <span data-ng-show="query_evento.nombre">Resultados de búsqueda <strong>"{{query_evento.nombre}}"</strong></span>

                            </form>
                            <div class="scroll">
                                <!-- scroll -->
                                <div class="col-md-12">
                                    <div class="item col-md-12 col-sd-12 col-xs-12" data-ng-repeat="evento in eventos | filter:query_evento.nombre">
                                        <!-- Item -->
                                        <div class="row">
                                            <div class="col-md-4 col-sd-8 col-xs-8">
                                                <img class="img-responsive" width="100" src="http://carlosazaustre.es/blog/wp-content/uploads/square-300x300.png" alt="evento1" />
                                            </div>
                                            <div class="col-md-8 col-sd-12 col-xs-12">
                                                <div class="caption">
                                                    <table class="table table-bordered">
                                                        <thead>
                                                            <tr>
                                                                <th colspan="2">{{evento.nombre}}</th>
                                                            </tr>
                                                        </thead>
                                                        <tbody>
                                                            <tr>
                                                                <td>Estado:</td>
                                                                <td>DF</td>
                                                            </tr>
                                                        </tbody>
                                                    </table>
                                                    <p> <a href="#!/eventos/{{evento.id_evento}}-{{evento.nombre.replace(' ','-') | lowercase }}" data-ng-click="upFuncionesList(evento.id_evento)" class="btn btn-success" role="button">Seleccionar</a>

                                                    </p>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <!-- //Item -->
                                </div>
                            </div>
                        </div>
                        <!-- scroll -->
                    </div>
                </fieldset>
            </div>
        </div>
    </fieldset>
    <!-- //Evento -->
    <fieldset>
        <div class="step-pane" id="funciones" data-ng-controller="FuncionesListCtrl">
            <div class="row">
                <fieldset>
                    <div data-ng-repeat="funcion in funcionesList">{{funcion}} 123</div>
                </fieldset>
            </div>
        </div>
    </fieldset>
</div>

2 个答案:

答案 0 :(得分:0)

我认为您忘记将数据附加到func控制器

中的范围
$scope.functionaList=CartEventos.funcionesList

答案 1 :(得分:0)

我认为您忘记了将数据附加到func controllers的范围内

$scope.functionaList=CartEventos.funcionesList