角度检查参数

时间:2016-03-22 17:16:20

标签: angularjs

我的代码:

/ **  *由maki1234于14.03.16创建。  * /

def test(vertices, distances)
  vertices.min_by {|vertex| distances[vertex] || Float::INFINITY }
end

test(vertices, distances)
# => 1

我的问题是:此代码有效,但当ID是数字时,但是当字符串控制器没有在控制台中记录任何内容时。有什么建议吗? (当控制台中的id为数字时,我看到未定义 - 我认为这很好)

1 个答案:

答案 0 :(得分:0)

更新:

app.js

angular.module('admin', ['ngRoute'])
.config(function ($routeProvider) {
    $routeProvider
        .when('/', {
            templateUrl: 'views/all.html',
        })
        .when('/details/:id', {
            templateUrl: 'views/details.html',
            controller: 'detailsController',
            resolve: {
                'id': function ($route, $q) {
                        var q = $q.defer();
                        var id = parseInt($route.current.params.id, 10);
                        if (!isNaN(id)) {
                            q.resolve(id);
                        } else {
                            q.reject('Param id must be a number!');
                        }
                        return q.promise;
                    }
            }
        })
        .otherwise({
            redirectTo: '/'
        });
})
.controller('mainController', function ($rootScope, $location) {
    $rootScope.$on('$routeChangeError', function (event, current, previous, rejection) {
        $rootScope.error = rejection;
    });
})
.controller('detailsController', function ($scope, id) {
    $scope.id = id;
});

的index.html

<div class="container-fluid">
    <div class="row">
        <div class="col xs-10 col-xs-offset-1" ng-controller="mainController" ng-view>
        </div>
    </div>
</div>

details.html

<h3>{{id}}</h3>

<h3>{{error}}</h3>

问题是当我在屏幕上打印有效的url id时,但是当我在屏幕上将id更改为错误值时,我看到打印的id和错误(似乎$ scope.id已保存并且&#39 ;记忆中的所有时间)。第二个问题是,当我有例如坏网址时,我在屏幕上看到错误,但是当我按下F5并且页面&#34;重新加载&#34;路线没有改变,所以我看到没有任何错误的白色屏幕(因为路线是相同的,并且routeChangeError事件没有被解雇......)。