0

私はAngular with Bootstrap UIを使用しており、if/elseロジックに依存するテンプレートを使用してモーダルを開こうとしています。 'template'プロパティのモーダルaパラメータを開く関数を渡すと、関数コールバックに渡された引数は使用されません。 「テンプレートまたはtemplateUrlオプションの1つが必要です」 ファイルパスをハードコードすると、モーダルがうまく開きます。このエラーが発生するのはパラメータを渡すときだけです。テンプレートを設定するために、パラメータをブートストラップUIモーダル関数に渡すにはどうすればよいですか?

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'); 
      } 
     }); 
     }; 
    }; 
    } 
]); 

答えて

0
vm.open(winningMoal); 

あなたが正しい変数名を使用していますか?コード内にどこにでもwinningMoalという変数が表示されない

関連する問題