我的目标是使用:
- Angular 1.3.15
- Prismic.io API
- 浏览器化
在我的测试中,我可以做工作:
*带角度和浏览器的应用程序
*一个角度和prismic.io api的应用程序
当我尝试让三者一起工作时,这是我的代码 的 app.js
var angular = require('angular');
require('angular-route');
require('angular-prismicio');
require('prismic.io');
require('./controllers');
var app = angular.module('monApp', ['ngRoute', 'controllers', 'prismic.io']);
app.config(['PrismicProvider', function(PrismicProvider) {
PrismicProvider.setApiEndpoint('myApiUrl');
PrismicProvider.setAccessToken('');
PrismicProvider.setClientId('');
PrismicProvider.setClientSecret('');
PrismicProvider.setLinkResolver(function(ctx, doc) {
return '#/document/' + doc.id + '/' + doc.slug + ctx.maybeRefParam;
});
}]);
我在控制器文件夹的根目录下:
的 index.js
angular.module('controllers', [])
.controller('HomeCtrl', require('./homeCtrl'));
问题出在控制器上:
的 HomeCtrl.js
module.exports = function($scope, $location, Prismic){
var page = "1";
debugger;
Prismic.ctx().then(function(ctx){
ctx.api.form('everything').page(page).ref(ctx.ref).submit(function(err, documents){
if (err) {
$location.path('/');
}
else {
$scope.documents = documents;
...
}
});
});
};
正确定义了Prismic对象,我可以得到它的一些属性,问题出在
Prismic.ctx()
在调试器中它给了我这个错误:
TypeError: Cannot read property 'Api' of undefined
答案 0 :(得分:0)
你有没有得到这个问题的答案?您将需要html中包含的prismic.io javascript。我用凉亭安装了它:
<script src="bower_components/prismic.io/dist/prismic.io.js"></script>