javascript - Angular ng-click 范围未定义函数

标签 javascript angularjs

我有由 laravel 部分 View 生成的代码...

<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>

所有在 Controller “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> 时在控制台中输入错误:

未定义不是函数

为什么在 $scope 上找不到“solicitaDespacho”函数?

最佳答案

改变这个

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

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

关于javascript - Angular ng-click 范围未定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818078/

相关文章:

javascript - 为什么 var name = function(){...} 形式的函数在 ES5 中没有被提升?

javascript - 使用 JQuery mousemove 函数时留在 DIV 中

javascript - 如何偏移 Mongoose 排序查询以在特定文档之后开始

javascript - CSS/jQuery 改进的页面流

javascript - Gecko Javascript 到 C++

javascript - 按名称获取 JSON 对象值

javascript - 如何为对象数组提供 ng-options?

javascript - 用于重复数据的 AngularJS rowspan

angularjs - 为什么主模块的服务在其他模块中可用?

javascript - Angularjs 最小长度验证停止字符计数器