【发布时间】:2015-05-04 09:31:05
【问题描述】:
我的目标是使用:
- 角 1.3.15
- Prismic.io API
- 浏览器化
在我的测试期间,我可以工作:
* 一个带有 Angular 和 browserify 的应用
* 带有 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
【问题讨论】:
标签: angularjs browserify