AngularJS 路由器不加载在`templateURL` 上提供的页面

用户2719875

这是我的 HTML 页面(访问路径时提供/):

<form ng-submit="ctrl.loginUser()" name="myLoginForm">
    <div class="form-group">
        <label>Username</label>
        <input type="text" name="uname" class="form-control" ng-model="ctrl.loginuser.username" required> 
    </div>

    <div class="form-group">
        <label>Password</label>
        <input type="password" name="pwd" class="form-control" ng-model="ctrl.loginuser.password" required>
    </div>

    <input type="submit" value="Login"> 
</form>

<div ng-view></div>

这是提交表单时调用的内容:

angular.module("BaseApp", [])
    .config(['$httpProvider', function($httpProvider) {
        $httpProvider.defaults.xsrfCookieName = 'csrftoken';
        $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
    }])

    .config(['$locationProvider', function($locationProvider){
        $locationProvider.html5Mode(true);
    }])

.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/home', {
    templateURL: 'static/templates/mainPage.html'
})
/*
.otherwise({redirectTo: '/'});
*/
}])


self.loginUser = function(loginuser) {
    return $http.post("/custom-api-auth/login", loginuser)
    .then(function(response) {
        $location.url("/home");
    });
};

static/templates/mainPage.html 这是:

<html>
<head>
<base href="/" >
</head>
<h5>TESTTTTTTTT</h5>

我尝试对此进行测试并提交表单。URL 更改为/home,但TESTTTTTTTT不显示。当我/static/templates/mainPage.html通过地址栏手动更改我的静态 URL然后按 Enter 键时,mainPage.html确实出现了。当我更改templateURL: 'static/templates/mainPage.html'为 时template: '<h5>This is the default route</h5>'This is the default route确实显示正确。

怎么static/templates/mainPage.html不显示?

我使用 Django / DRF 作为我的后端,这是我的urls.py

from django.conf.urls import url
from django.conf.urls import include
from ebdjangoapp import views
from rest_framework import routers

router = routers.DefaultRouter()
router.register(r'stuffs', views.StuffViewSet)
router.register(r'users', views.UserViewSet)

urlpatterns = [
    url(r'^api/', include(router.urls)),

    # templates
    url(r'^$', views.HomePageView.as_view()),
    url(r'^home$', views.MainPageView.as_view()),

    # login logout
    url(r'^custom-api-auth/login$', views.login_view.as_view()),
    url(r'^custom-api-auth/logout$', views.logout_view.as_view()),
]

这是我的views.py

class HomePageView(TemplateView):
    def get(self, request, *args, **kwargs):
        return TemplateResponse(request, "home.html")

class MainPageView(TemplateView):
    def get(self, request, *args, **kwargs):
        return TemplateResponse(request, "mainPage.html")

请注意,/home为页面提供服务mainPage.html/页面提供服务home.html(我知道有点令人困惑)。

布拉德利谷口

你的 $routeProvider 代码中不是 templateUrl,不是 templateURL 吗?

参考:
$routeProvider 文档

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AngularJS UI路由器无法加载templateUrl

AngularJS 路由器和 .NET 后端 - 在 templateUrl 上重定向

AngularJS:UI路由器不加载模板和控制器

使用ui路由器在AngularJS中的浏览器后退/前进按钮上重新加载页面

Electron angularjs UI路由器未在Mac上加载UI视图

AngularJS UI路由器无法使用动态引用加载第二个页面视图

AngularJS ui路由器$ state.go('^')仅更改地址栏中的URL,但不加载控制器

反应路由器未加载页面

AngularJS:UI路由器警告:试图多次加载角度

AngularJS UI路由器命名视图延迟加载

AngularJS UI路由器-使用templateUrl时$ state.current.name为空

AngularJS / UI路由器-状态URL / TemplateURL中的语言环境

AngularJS UI路由器控制器访问解析属性,未知提供程序

playframwork angularjs路由器

AngularJS 1.3.13-服务提供商传递给UI路由器配置无法解析

angularjs > 路由器解析 > “错误:[$injector:unpr] 未知提供者”

使用ui路由器在angularjs中重定向页面时如何传递参数?

AngularJS UI路由器。如何重定向到登录页面

AngularJs UI路由器-页面刷新$ state.current现在为空

刷新页面angularjs ui路由器时出错

AngularJS路由ui路由器

AngularJS路由无法在页面加载时解析

Angular2的新路由器组件似乎没有提供templateUrl。

路由器未在ng视图中加载页面

如何使用Nginx通过Express路由器加载页面

如何在页面加载时触发路由器状态?

骨干路由器无法在页面加载中工作

在路由器出口外以角度4加载页面

Angular 路由器不使用 PathParam 加载我的页面