我正在使用Meteor,Angular和Ionic。我很难从状态A转换到状态B,因为我一直得到错误'只允许一个babel / polyfill实例'。我尝试尽可能地清理以下代码。请注意,我可以成功更改为其他状态。
这是我的routes.js文件:
.state('create-group', {
url:'/create-group:/:buddyId',
templateUrl: 'client/templates/create-group.ng.html',
controller: 'createGroupCtrl'
})
这是我的州A模板:
<ion-item ng-repeat="buddy in buddies" ng-click="createGroup({{buddy}})">
</ion-item>
这是我的州A控制器:
angular
.module('app')
.controller('whosDownCtrl', whosDownCtrl);
function whosDownCtrl ($scope, $state, $ionicScrollDelegate, $timeout, $meteor) {
$scope.createGroup = createGroup;
function createGroup(buddy) {
$state.go('create-group', { buddyId: buddy._id});
}
};
这是我的B州控制员:
angular
.module('app')
.controller('createGroupCtrl', createGroupCtrl);
function createGroupCtrl ($scope, $stateParams) {
var clickedUser = $stateParams.buddyId;
}
谁能看到我做错了什么?
答案 0 :(得分:0)
您是否手动向流星添加了babel / ecmascript包?
检查.meteor / packages文件和.meteor / versions文件,因为该错误意味着项目中添加了多个冲突版本的babel。
由于所有与babel相关的meteor包都是独立的包装器,因此很可能会发生这样的冲突。
删除“多余的”babel包,你就可以了。
答案 1 :(得分:0)
我知道这是一个非常老的问题,但是我在分析问题时就落在了这里。在这里发布我的学习内容可能会有所帮助。
我的项目中也遇到了同样的错误。发生这种情况是因为模板和控制器解析度不正确。 这是一个相关的github问题,有助于澄清:https://github.com/Urigo/angular-meteor/issues/870
使用硬编码模板而不是templateUrl来正确分析问题。