2014-09-12 4 views
0

Я этот код генерируется Laravel частичного вида ...Угловой нг щелчок область действия неопределенной функция

<div ng-controller="viajeController"> 
<ul class="nav nav-pills"> 
    <li><a href="#/">Volver</a></li> 
</ul> 

    <div class="col-xs-4"> 
     <h3>Horario de Salida:</h3> 
     <select class="form-control" name="sel_horario" ng-model="hora" ng-options="hora.hora_inicio for hora in horarios | orderBy: 'id'" id="sel_horario" ></select> 
    </div> 
    <div class="col-xs-8">   

     <fieldset> 
      <legend>Asignar Vehiculo </legend> 

      <table class="table table-hover"> 
       <thead> 
        <th>Seleccione</th> 
        <th>Placa</th> 
        <th>Numero Interno</th> 
        <th>Tipo Vehiculo</th> 
       </thead> 
       <tbody> 
        <tr ng-repeat="vehiculo in vehiculos"> 
         <td> 
          <a href="" ng-click="solicitaDespacho(<% vehiculo.id %>)">Seleccionar</a> 
         </td> 
         <td><% vehiculo.placa %></td> 
         <td><% vehiculo.numero_interno %></td> 
         <td><% vehiculo.tipo_vehiculo %></td> 
        </tr> 
       </tbody> 

      </table> 

     </fieldset> 

    </div> 
</div> 

все под контроллером «viajeController» это код:

app.controller('viajeController',function ($scope, $location, viajeFactory){ 

$scope.horarios = viajeFactory.horarios; 
viajeFactory.async().then(function(d){ 
    $scope.vehiculos = d; 
}); 

$scope.solicitaDespacho = function(idVeh){ 
    var urlPost = '/asignarVehiculo'; 
    var idHora = $("#sel_horario").val(); 

    if (idHora != 'undefined' && idHora != '?'){ 
     urlPost = '/addViajeData/'+idVeh; 
    }else{ 
     alert('Debe seleccionar un horario de salida.'); 
    } 

    $location.path(urlPost); 

}; 
}); 

viajeFactory является Хорошо, но когда я нажимаю на <a href="" ng-click="solicitaDespacho(<% vehiculo.id %>)">Seleccionar</a> поставить ошибку в консоли:

неопределенный не является функция

Почему бы не найти функцию «solicitaDespacho» в $ scope?

ответ

3

изменить это

<a href="" ng-click="solicitaDespacho(<% vehiculo.id %>)">Seleccionar</a> 

в

<a href="" ng-click="solicitaDespacho(vehiculo.id)">Seleccionar</a> 
+1

Кроме того, вы не указали достаточно HTML, чтобы убедиться, что вы фактически подключили свой контроллер к DOM должным образом. Удостоверьтесь, что у вас есть директива ngController где-то в вашем HTML выше этого ngRepeat, что на самом деле _uses_ viajeController в первую очередь! –

+0

Извините, я не говорю, что я меняю {{на <%, потому что я использую laravel с клинком, поэтому ng-repeat генерирует хороший html solicitaDespacho (1), solicitaDespacho (2) .. и т. Д., Но когда я нажимаю say undefined – Joshua

+0

работает но с ng-click = "solicitaDespacho (vehicleulo.id)" Спасибо – Joshua

0

Вы пропустили; после замыкающей скобки функции.

+0

In put; в конце функции и сохранить ошибку – Joshua

Смежные вопросы