我的目标是使用:
在我的测试中,我可以工作:
*一个有棱角和褐色的应用程序。
*一个带有angular和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.ctx()在调试器中,它给出了以下错误:
TypeError: Cannot read property 'Api' of undefined发布于 2015-05-18 10:13:23
你得到这个问题的答案了吗?您将需要包含在html中的prismic.io javascript。我是用保龄球安装的:
<script src="bower_components/prismic.io/dist/prismic.io.js"></script>https://stackoverflow.com/questions/30026782
复制相似问题