Trước hết, tôi còn khá mới với javascript, nhưng tôi hiểu cách của python. Tôi đang cố gắng học javascript và có thể tôi không thử được cách này, nhưng đây là cách học phù hợp để bạn học.
Thứ hai, Flask và AngularJS phối hợp tốt với nhau chỉ cần một chút trợ giúp. Đặc biệt cảm ơn shea256 ( https://github.com/shea256/angular-flask )
Bây giờ tôi có thể thiết lập và chạy "ứng dụng thử nghiệm" khá dễ dàng.
Tuy nhiên, tôi muốn thêm DevExtreme vào ngăn xếp này và gặp phải một số vấn đề.
Đây là những gì tôi có:
chỉ mục.html
<đầu>
Bình góc
đầu>
Trình điều khiển.js
hàm IndexController($scope) {
}
hàm AboutController($scope) {
}
hàm PostListController($scope, Post) {
var postQuery = Post.get({}, function(posts) {
$scope.posts = post.objects;
});
}
hàm PostDetailController($scope, $routeParams, Post) {
var postQuery = Post.get({ postId: $routeParams.postId }, function(post) {
$scope.post = bài đăng;
});
}
ứng dụng.js
'use strict';
Angular.module('AngularFlask', ['angularFlaskServices', 'dx'])
.config(['$routeProvider', '$locationProvider',
hàm($routeProvider, $locationProvider) {
$routeProvider
.khi('/', {
templateUrl: 'static/partials/landing.html',
bộ điều khiển: IndexController
})
.when('/about', {
templateUrl: 'static/partials/about.html',
bộ điều khiển: AboutController
})
.when('/post', {
templateUrl: 'static/partials/post-list.html',
bộ điều khiển: PostListContoder
})
.when('/post/:postId', {
templateUrl: '/static/partials/post-detail.html',
bộ điều khiển: PostDetailController
})
/* Tạo tuyến đường "/blog" đưa người dùng đến cùng địa điểm với "/post" */
.when('/blog', {
templateUrl: 'static/partials/post-list.html',
bộ điều khiển: PostListContoder
})
.nếu không thì({
redirectTo: '/'
})
;
$locationProvider.html5Mode(true);
}])
;
Bằng cách này khi tôi điều hướng đến localhost:5000 thì lỗi này được báo cáo
https://docs.angularjs.org/error/ $injector/modulerr?p0=AngularFlask&p1=%5B$injector:unpr%5D%20http:%2F%2Ferrors.angularjs.org%2F1.5.7%2F$injector%2Funpr%3Fp0%3D%2524routeProvider%0AO%2F%3C @https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:6:412%0Adb%2Fn.$injector%3C@https:%2F%2Fajax.googleapis. com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:43:84%0Ad@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js :40:344%0Ae@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:41:78%0Ah%2F%3C.invoke@https:%2F %2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:41:163%0Ad@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7% 2Fangular.min.js:39:313%0Ag%2F%3C@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:39:445%0Ar@https :%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:7:353%0Ag@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1 .5,7%2Fangular.min.js:39:222%0Adb@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:43:246%0ABc%2Fc@ https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:20:359%0ABc@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs% 2F1.5.7%2Fangular.min.js:21:163%0Age@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:19:484%0A@https :%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.5.7%2Fangular.min.js:315:135%0An.Callbacks%2Fi@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs %2Fjquery%2F1.12.4%2Fjquery.min.js:2:27444%0An.Callbacks%2Fj.fireWith@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.12.4%2Fjquery.min. js:2:28213%0A.ready@https:%2F%2Fajax.googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.12.4%2Fjquery.min.js:2:30004%0AK@https:%2F%2Fajax. googleapis.com%2Fajax%2Flibs%2Fjquery%2F1.12.4%2Fjquery.min.js:2:30366%0AO%2F%3C()%20angular.min.js:6g%2F%3C()%20angular.min. js:40r()%20Angular.min.js:7g()%20Angular.min.js:39db()%20Angular.min.js:43Bc%2Fc()%20Angular.min.js:20Bc()%20Angular. min.js:21ge()%20angular.min.js:19%3Canonymous%3E%20angular.min.js:315n.Callbacks%2Fi()%20jquery.min.js:2n.Callbacks%2Fj.fireWith()% 20jquery.min.js:2.ready()%20jquery.min.js:2K()%20jquery.min.js:21%20angular.min.js:6:412
Có thể đáng nói rằng nếu tôi sử dụng AngularJS 1.0.7 (có trong Angular-Flask) thì vấn đề sẽ được giải quyết cho đến khi tôi thêm thẻ phát triển html của mình
Sau đó là những lỗi:
Lỗi: e.$$postDigest không phải là một hàm
Lỗi: t.$root không được xác định
Lỗi: a.$watch không phải là một chức năng
Lỗi: c.$watch không phải là một hàm
Lỗi: a.$watch không phải là một chức năng
Lỗi: t.dxTemplateModel không được xác định
Vì vậy, điều này cho tôi biết rằng DevExpress đang thiếu một số tính năng trong AngularJS 1.0.7, tuy nhiên, Angular-Flask gặp sự cố khi sử dụng AngularJS 1.2.X. Có cách nào để hai người này làm việc tốt với nhau không?
câu trả lời hay nhất
Hỗ trợ DevExtreme AngularJS 1.2-1.4. Bạn đang cố gắng sử dụng phiên bản AngularJS quá cũ. Kịch bản ở đây kho lưu trữ Cập nhật 3 năm trước. Nhưng bạn có thể dễ dàng sử dụng phiên bản Angularjs khác. Bố cục bình của bạn trông như thế này:
<đầu>
{{ title }} - Ứng dụng bình của tôi
Xem sitemap của VNExpress
đầu>