【发布时间】:2016-02-11 11:10:11
【问题描述】:
我刚开始将我们的应用程序转换为 AngularJS,老实说……这对 *** 来说是一个痛苦。 AngularJS 与老式的纯 Javascript 完全不同!
我只是想制作一个显示登录屏幕(通过 AJAX 获取数据)然后显示“文章信息”页面的应用。简单明了 - 我是这么想的。
我制作了两个 html 页面,并制作了两个模块。一个模块用于用户,一个模块用于文章。一页登录,一页文章信息。
两个页面都包含了angular模块、路由模块和我的两个模块:
<script src="angular/angular.js"></script>
<script src="angular/angular-route.js"></script>
<script src="modules/sachbearbeiter.js"></script>
<script src="modules/artikelinfo.js"></script>
在模块中,我尽一切努力使路由正确,“sachbearbeiter.js”的相关部分:
var sb = angular.module("sb", ['ngRoute']);
sb.config(function ($routeProvider) {
$routeProvider.
when('/login', {
templateUrl: '/index.html',
controller: 'sachbearbeiter'
})
.when('/artinfo', {
templateUrl: '/artinfo.html',
controller: 'artikelinfo'
})
.otherwise({
redirectTo: '/login'
});
});
“artikelinfo.js”的相关部分:
var art = angular.module("art", ['sb, ngRoute']);
art.config(function ($routeProvider) {
$routeProvider.
when('/login', {
templateUrl: '/index.html',
controller: 'sachbearbeiter'
})
.when('/artinfo', {
templateUrl: '/artinfo.html',
controller: 'artikelinfo'
})
.otherwise({
redirectTo: '/login'
});
});
在 index.html 中我定义了我的 sachbearbeiter-module:
<div ng-app="sb" ng-controller="sachbearbeiter">
然后我添加了一个简单的链接,并希望我可以调用我的“artinfo.html”:
<a href="#/artinfo">Artikelinfo</a>
但它简单地将 URL Bar 更改为:
SERVERNAME/artinfo//index.html#/artinfo
然后什么都没有发生。甚至没有 Javascript 调试输出。
通过构建一个包含两个单独的 .html 文件和两个单独的 .js 文件以及一个模块的所有控制器和工厂(用户/Sachbearbeiter 和 Artikelinfo/文章信息)的 SinglePageApplication,我是否走在正确的轨道上?
掌握 angularJS 让我头晕目眩…… 我为 NG-Routing 找到的所有示例都没有使用两个不同的 .js 文件和两个不同的 .html 文件。
有什么建议或帮助吗?
您好, 托马斯
【问题讨论】:
-
尝试使用
href="#artinfo" -
点击链接前你的网址是什么样的?
-
将链接更改为“Artikelinfo”后,它只是重新加载页面(因为 'artinfo' 也是网址)。所以在点击之前我有“cd-dev-srv1/artinfo”,之后还有“cd-dev-srv1/artinfo”,因为页面会重新加载。
-
使用“Artikelinfo”时,点击后URL变为“cd-dev-srv1/artinfo/#/artinfo”。但我留在登录页面(index.html)。
标签: javascript html angularjs