我正在尝试使用路由angularJs类的routeParams构建链接。它运作得很好,但由于某种原因,它不会插入我的字符串。
我尝试了以下内容:
然而,除了在屏幕上将其打印为字符串文字外,两者都没有结果。我的代码如下所示
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
非常感谢任何帮助。干杯!
答案 0 :(得分:2)
Plunkr中存在一些可能影响您实际代码的语法和语义问题。
RepoController
}
函数声明
<script src=RepoController.js>
index.html
$scope.repo
不是具有name属性的对象。在您的模板中,使用reponame
代替,或者您可以执行$scope.repo = {name: $routeParams.reponame}