javascript - AngularJS routing is not working: no events on link clicks, no $routeParams - Stack Overflow

Somehow my app stopped working during development and I really cannot get what's wrong with it.I&#

Somehow my app stopped working during development and I really cannot get what's wrong with it.

I've removed everything, the only code remaining is:

function handlerControl($scope, $routeParams, $location){
    $scope.route = $routeParams;
}

var app = angular.module('Hello', []).config(
    function($routeProvider){
        $routeProvider.when('/:a/:b', {controller: handlerControl});
    }
);

and html is

<body ng-app="Hello">

<div ng-controller="handlerControl">
    {{route}}
</div>

</body>

omitting head part with including everything.

When I go to

http://helloday/#/a/b/

I'm getting an empty hash while expecting to get {a: 'a', b: 'b'}

What I'm doing wrong?

Bit modified(to make it work) jsFiddle: ://jsfiddle/wWDj2/

Somehow my app stopped working during development and I really cannot get what's wrong with it.

I've removed everything, the only code remaining is:

function handlerControl($scope, $routeParams, $location){
    $scope.route = $routeParams;
}

var app = angular.module('Hello', []).config(
    function($routeProvider){
        $routeProvider.when('/:a/:b', {controller: handlerControl});
    }
);

and html is

<body ng-app="Hello">

<div ng-controller="handlerControl">
    {{route}}
</div>

</body>

omitting head part with including everything.

When I go to

http://helloday/#/a/b/

I'm getting an empty hash while expecting to get {a: 'a', b: 'b'}

What I'm doing wrong?

Bit modified(to make it work) jsFiddle: http://jsfiddle/wWDj2/http://jsfiddle/wWDj2/

Share Improve this question edited Jan 25, 2013 at 15:19 Jabher asked Jan 25, 2013 at 14:53 JabherJabher 3285 silver badges12 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 6

Routing requires you use ngView, and that you specify either a template or a templateUrl:

App code.

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

app.config(function($routeProvider) {
   $routeProvider.when('/foo/:id', {
        controller: 'FooCtrl',
        template: '<h1>Foo {{id}}</h1>'
   })
   .when('/bar/:test', {
        controller: 'BarCtrl',
        templateUrl: 'bartemplate.html'
   })
   .otherwise({ 
        controller: 'DefaultCtrl',
        template: '<h1>This is the default</h1>'
   });
});

app.controller('FooCtrl', function($scope, $routeParams) {
   $scope.id = $routeParams.id;
});

app.controller('BarCtrl', function($scope, $routeParams) {
   $scope.test = $routeParams.test;
});

app.controller('DefaultCtrl', function($scope){});

Your main page's markup:

<div ng-app="myApp">
   <a href="#/foo/123">Foo 123</a>
   <a href="#/bar/blah">Bar Blah</a>
   <a href="#">Default route</a>
   <hr/>
   <div ng-view>
       <!-- your processed view will show up here -->
   </div>
</div>

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745412983a4626616.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信