【发布时间】:2017-02-21 11:36:35
【问题描述】:
我正在使用 AngularJS 构建一个 Web 应用程序。我正在使用 ui-router,我已经定义了这样的状态:
//appContacts.js
(function () {
"use strict";
var app = angular
.module('appContacts', ['ui.router', 'angularUtils.directives.dirPagination'])
.config(['$stateProvider', '$locationProvider', '$urlRouterProvider',
function ($stateProvider, $locationProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise("/");
$stateProvider
.state("home", {
url: "/",
templateUrl: "views/contactsView.html",
controller: "contactsController",
controllerAs: "vm"
})
.state("organization", {
url: "/organizations/:Id",
templateUrl: "views/organizationDetail.html",
params: { Id: null },
controller: "organizationsController",
controllerAs: "vm"
})
.state("contact", {
url: "/contact/:Id",
templateUrl: "views/contactDetails.html",
params: { Id: null },
controller: "contactsDetailController",
controllerAs: "vm"
})
$locationProvider.html5Mode({
enabled: true,
requireBase: false,
rewriteLinks: true
});
$locationProvider.html5Mode(true);
}
]);
})();
我使用 HTTP 方法从数据库中获取请求的信息。我有两个问题:
- 当我刷新页面时,页面变为空白。知道我做错了什么吗?
- 主页控制器自动调用使用 ng-repeat 填充表的 HTTP 方法。这意味着不可能像http://localhost:50895/contact/the-id 这样直接访问另一个页面,因为没有存储数据。我总是必须访问主页来加载数据。如何保存这些数据并将其提供给所有页面/状态/控制器?
编辑:
【问题讨论】: