Nói chung, tôi muốn làm như sau và sẽ có một ng-app
trong HTML của tôi:thủ bootstrapping AngularJS và sau đó nhận được các mô-đun
var myApp = angular.module("myApp", []);
myApp.controller("AttributeCtrl", function ($scope) {
$scope.master = {
name: "some name"
};
});
Tuy nhiên, tôi cần phải tự bootstrap góc vì tôi chỉ sử dụng nó trong một phần của ứng dụng của tôi được tải thông qua $.load()
của jQuery. Nếu tôi làm như sau:
main.js - đây là nơi trang Tôi muốn sử dụng góc trên đang được kéo vào
$("#form").load(contextPath + url, params, function() {
angular.bootstrap($("#angularApp"));
});
Và sau đó trang bị kéo vào đã sở hữu nó javascript:
function AttributeCtrl($scope) {
$scope.master = { name: "some name"};
}
Công trình này, tuy nhiên, lý tưởng nhất, tôi muốn các bộ điều khiển của mình được đặt ở mức mô-đun. Vì vậy, tôi sửa đổi mã trên như vậy
main.js
$("#form").load(contextPath + url, params, function() {
angular.bootstrap($("#angularApp", ["myApp"]));
});
và sau đó ...
var app = angular.module("myApp"); // retrieve a module
app.controller("AttributeCtrl", function($scope) {
$scope.master = { name: "some name"};
});
Lấy module theo cách này dường như không làm việc, mặc dù. Tôi có làm điều gì sai?
Bạn có nhận được thông báo không tìm thấy mô-đun không? Nhà khai thác mô-đun và bộ điều khiển có được chạy trước khi gọi hàm bootstrap không? – BoxerBucks
@gregg Chỉ cần cập nhật cho bạn. Họ cập nhật các tài liệu để làm cho nó rõ ràng. Họ nói rằng bạn chỉ có thể vượt qua trong các mô-đun được xác định trước. Hy vọng nó giúp. https://github.com/angular/angular.js/issues/3692 – zsong
Làm thế nào bạn có thể đảm bảo thời gian cần để thực hiện tải cho đến khi bạn thử và tham khảo mô-đun mà mô-đun đã được khởi động vào thời điểm đó? –