У меня есть приложение панели задач Office, написанное с помощью API Office Javascript (Office.js), который вызывает Office.context.document.getFilePropertiesAsync и помещает возвращаемый URL в угловую переменную :Office.js getFilePropertiesAsync не работает при втором вызове в Angular.js
$scope.getDocumentUrl = function() {
Office.context.document.getFilePropertiesAsync(function (asyncResult) {
$scope.url = asyncResult.value.url;
});
};
У меня есть кнопка, которая называет это. Это работает файл в первый раз, но когда я нажимаю на кнопку второй раз, он никогда не входит в функцию обратного вызова и отображает эту ошибку:
TypeError: Object expected at verifyAndExtractCall (https://localhost:44304/scripts/office/1.1/o15apptofilemappingtable.js:11:54588) at Anonymous function (https://localhost:44304/scripts/office/1.1/o15apptofilemappingtable.js:11:83048) at Anonymous function (https://localhost:44304/scripts/office/1.1/o15apptofilemappingtable.js:11:86071) at $scope.getDocumentUrl (https://localhost:44304/AngularJs/controllers/sandpit.controller.js:130:6) at $parseFunctionCall (https://localhost:44304/AngularJs/bower_components/angular/angular.js:12403:7) at callback (https://localhost:44304/AngularJs/bower_components/angular/angular.js:21566:17) at Scope.prototype.$eval (https://localhost:44304/AngularJs/bower_components/angular/angular.js:14466:9) at Scope.prototype.$apply (https://localhost:44304/AngularJs/bower_components/angular/angular.js:14565:11) at Anonymous function (https://localhost:44304/AngularJs/bower_components/angular/angular.js:21571:17) at jQuery.event.dispatch (https://localhos
Это упрощенная версия другой ситуации, которая создает ту же ошибку. Это также происходит с getFileAsync. Я знаю, что мне нужно $ scope. $ Apply для отображения изменения. Я знаю, что вы можете получить URL-адрес другими способами. Мне нужно знать причину ошибки.
И работает ли он во второй раз? –
Несомненно. Я подключаю отладчик к IE. Я подтверждаю, что Office.context.document.getFilePropertiesAsync() вызывается каждый раз, когда я нажимаю кнопку, а не исключение. –