angularjs 初学者的坑

有关controller的定义

从angularjs1.3开始,已经不允许定义全局的controller, 所以网上好多老的demo在运行的时候会报没有注册对应的controller。所以,1.3以后的angrularjs 必须如下定义:

  angular.module('pro01App2' , [])
    .controller('AboutCtrl', function () {

  });

有关ngroute

再用yoman生成的angrularjs项目,头部的导航条点击没有相应。

输入图片说明

看浏览器的地址,多了一个感叹号,但是在index.html 里面是如下的显示:

        <ul class="nav navbar-nav">
          <li class="active"><a href="#/">Home</a></li>
          <li><a ng-href="#/about">About</a></li>
          <li><a ng-href="#/">Contact</a></li>
        </ul>
有如下的处理方法:
  • 将上面的链接里面添加一个感叹号。 --- 这个方法太挫了
        <ul class="nav navbar-nav">
          <li class="active"><a href="#!/">Home</a></li>
          <li><a ng-href="#!/about">About</a></li>
          <li><a ng-href="#!/">Contact</a></li>
        </ul>

修改办法: 在 app.js里面,添加如下的代码:

  $locationProvider.hashPrefix('');
    完整的实例:
app.config(function ($routeProvider , $locationProvider) {

  $locationProvider.hashPrefix('');

  $routeProvider
    .when('/', {
      templateUrl: 'views/main.html',
      controller: 'MainCtrlTest',
      controllerAs: 'main'
    })
    .when('/about', {
      templateUrl: 'views/about.html',
      controller: 'AboutCtrlTest',
      controllerAs: 'about'
    })
    .otherwise({
      redirectTo: '/about'
    });
});

转载于:https://my.oschina.net/u/725800/blog/839819

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值