我正在使用Angular和Bootstrap UI,并尝试使用依赖于if / else逻辑的模板打开模式。当我传递函数以打开模板的'template'属性的参数时,它不使用传递给函数回调的参数。我在控制台中收到此错误: “需要模板或templateUrl选项之一” 如果我硬编码文件路径,模态打开就好了。只有在我传入参数时才会出现此错误。
angular.module('butterflyappApp').controller('YelpapiCtrl', ['$scope', 'MyYelpAPI', 'googlemapsservice', 'CheckGeo',
'$uibModal',
function($scope, MyYelpAPI, googlemapsservice, CheckGeo, $uibModal) {
var vm = this;
vm.open = function(template) {
var modalInstance = $uibModal.open({
templateUrl: template,
controller: 'ModalCtrl as vm'
});
};
$scope.checkGeoClick = function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
CheckGeo.checkerYelp(latChecker, longChecker);
$scope.testStuff = CheckGeo.test();
if (pos.lat.toFixed(3) === $scope.testStuff.newLatChecker && pos.long.toFixed(3) === $scope.testStuff
.newLongChecker) {
console.log('you win');
vm.open(winningMoal);
} else {
console.log('/views/modal-view-winning.html');
vm.open('/views/modalview.html');
}
});
};
};
}
]);