AngularJS,字符串不插入$ routeParams值

时间:2017-04-03 22:41:06

标签: angularjs

我正在尝试使用路由angularJs类的routeParams构建链接。它运作得很好,但由于某种原因,它不会插入我的字符串。

我尝试了以下内容:

  1. {{username}}在控制器中设置$ scope.username = $ routeParams.username;
  2. {{Repo.username}}作为控制器被称为RepoController。
  3. 然而,除了在屏幕上将其打印为字符串文字外,两者都没有结果。我的代码如下所示

    App.js

    (function() {
    
        var app = angular.module("githubViewer", ["ngRoute"])
    
        app.config(function($routeProvider) {
          $routeProvider
            .when("/main", {
              templateUrl: "main.html",
              controller: "MainController"
            })
            .when("/user/:username", {
              templateUrl: "user.html",
              controller: "UserController"
            })
            .when("/repo/:username/:reponame", {
              templateUrl: "repo.html",
              controller: "RepoController"
            })
            .otherwise({
              redirectTo: "/main"
            })
        });
    
    }());
    

    RepoController.js

    (function() {
    
      var app = angular.module("githubViewer")
    
      var RepoController = function($scope, github, $routeParams) {
    
      $scope.username = $routeParams.username;
      $scope.reponame = $routeParams.reponame;
    
    
      app.controller("RepoController", ["$scope", "github", "$routeParams", RepoController]);
    
    }());
    

    Repo.html

    <section>
    
      {{ username }}
      <br />
      {{ repo.name }}
    
    </section>
    

    有一个可用的plunker: https://plnkr.co/edit/oGJJOUfCqW8G7OAXxXGa?p=preview

    非常感谢任何帮助。干杯!

1 个答案:

答案 0 :(得分:2)

Plunkr中存在一些可能影响您实际代码的语法和语义问题。

  1. RepoController.js中存在语法错误 - 您未使用RepoController
  2. 关闭}函数声明
  3. 您未在<script src=RepoController.js>
  4. 中加入index.html
  5. $scope.repo不是具有name属性的对象。在您的模板中,使用reponame代替,或者您可以执行$scope.repo = {name: $routeParams.reponame}