app.js
var app = angular.module('app', [
'ngResource',
'ngRoute',
// 'ui.bootstrap',
// 'ngResource',
'student',
]);
app.config(
function(
$locationProvider,
$routeProvider
){
$locationProvider.html5Mode({
enabled:true
})
$routeProvider.
when("/", {
template: 'base',
}).
when("/student/1", {
template: "<student-detail></student-detail>",
}).
otherwise({
template: "Not Found"
})
});
student.js
var app = angular.module('student', []);
app.component('studentDetail',{
templateUrl:'studentDetail.html',
controller: function($scope) {
$scope.test = 'Got it.'
}
});
urls.py
class SimpleStaticView(TemplateView):
def get_template_names(self):
return [self.kwargs.get('template_name') + ".html"]
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^api/', include("students.api.urls", namespace='students-api')),
url(r'^(?P<template_name>\w+)$', SimpleStaticView.as_view(), name='example'),
url(r'^$', TemplateView.as_view(template_name='home.html')),
]
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
# urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
测试,当访问/
,base
字段是出现的,说明ng-view
工作 正常,但当访问/students/1
时,返回django路由报错,未找到该路由。
studentDetail.html
是存在的。
这是angular没获取到路由请求吗?该如何解决?谢谢。
Terima kasih atas jemputan, saya syorkan anda membaca artikel ini dahulu - Teras aplikasi satu halaman
Apabila membangun dan menyahpepijat, anda boleh menggunakan alat pembangun untuk menyemak laluan sebenar permintaan templat Selain itu, untuk konfigurasi penghalaan Django, anda hanya perlu memadankan alamat permintaan templat dan mengembalikan fail templat dengan betul. Sila rujuk contoh berikut untuk bahagian hujung hadapan Sudut 1.x:
Struktur direktori projek Demo Angular 1.x
views/student.module.js
views/studentDetail.html
index.html
Adalah disyorkan bahawa jika projek baharu menggunakan Angular 1. Contoh komponen adalah seperti berikut:
Untuk butiran, sila rujuk komponen-property-binding-input-angular-2
Selain itu, jika anda berminat atau projek membenarkan, anda boleh mempertimbangkan untuk menggunakan versi baharu Angular Versi terkini ialah 4.0.1
Peringatan mesra (sila langkau soalan): Contoh ini perlu memulakan pelayan setempat Jika Python dipasang, anda boleh menjalankan python -m SimpleHTTPServer
pada baris arahan.Bahan rujukan
Penghalaan mod html5mode Angularjs
# nombor dalam URL dialih keluar oleh penghalaan sudut