【发布时间】:2016-08-15 20:12:02
【问题描述】:
我将 Angular 与 Bootstrap UI 一起使用,并尝试使用依赖于 if/else 逻辑的模板打开模式。当我将函数传递给打开模式的“模板”属性的参数时,它不使用传递给函数回调的参数。我在控制台中收到此错误: “模板或 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');
}
});
};
};
}
]);
【问题讨论】:
标签: angularjs parameters callback bootstrap-modal angular-template