Tôi có một trang web xếp chồng trung bình. Tôi muốn sử dụng ExecuteFunction để ràng buộc một nút để khởi động trang web này trong một hộp Dialog:
function doSomethingAndShowDialog(event) {
clickEvent = event;
Office.context.ui.displayDialogAsync("https://localhost:3000/try", {}, function() {})
}
Nhấp vào nút mở ra một hộp thoại với các url sau, nó hiển thị các nội dung của trang:
https://localhost:3000/try?_host_Info=excel|web|16.00|en-us|7fe9b4e9-d51e-bea5-d194-c817bc5ed4bc|isDialog#%2Ftry%3F_host_Info=excel%7Cweb%7C16.00%7Cen-us%7C7fe9b4e9-d51e-bea5-d194-c817bc5ed4bc%7CisDialog
Tuy nhiên, trong giao diện điều khiển, có Error: $rootScope:infdig Infinite $digest Loop tại angular.bootstrap(document, ['myapp'])
:
var wait = setTimeout(myFunction, 1000);
Office.initialize = function (reason) {
$(document).ready(function() {
angular.bootstrap(document, ['myapp'])
console.log("bootstrapped inside Office.initialize");
clearTimeout(wait);
})
}
function myFunction() {
$(document).ready(function() {
angular.bootstrap(document, ['myapp'])
console.log("bootstrapped outside Office.initialize");
})
}
app = angular.module("myapp", []);
app.config(...);
app.controller(...);
Nếu chúng ta chỉ cần mở https://localhost:3000/try
trong một trình duyệt r, không có lỗi.
Có ai biết tại sao url dài đó không hoạt động với angular.bootstrap
không? Làm thế nào chúng ta có thể sửa lỗi này?
Chỉnh sửa 1: ảnh chụp màn hình của bảng điều khiển cho https://localhost:3000/try?_host_Info=excel...
. Lưu ý rằng không phải bootstrapped inside Office.initialize
cũng không phải bootstrapped outside Office.initialize
được hiển thị. Nhưng nếu tôi chạy https://localhost:3000/try
trong trình duyệt, tôi sẽ chỉ thấy bootstrapped outside Office.initialize
, khi tôi gọi nó từ một ứng dụng khách Excel, tôi sẽ chỉ thấy bootstrapped inside Office.initialize
.
Bạn nên gọi angular.bootstrap() sau khi bạn đã tải hoặc xác định mô-đun của mình.Kiểm tra https://docs.angularjs.org/guide/bootstrap hoặc biết thêm chi tiết. – Vivz
'myapp'' được khai báo ở đâu? – 31piy
Bạn đang gọi 'angular.bootstrap (tài liệu, ['myapp'])' hai lần kiểm tra xem nó. Bạn cần khởi động nó một lần. –