2015-02-05 97 views
2

我使用的是angular-bootstrap-datetimepicker,特別是「帶輸入框的下拉日期時間」。它利用了data-toggle="dropdown"屬性。當我的AngularJS應用運行在簡單的nodejs express服務器上時,日曆就出現了。由於我遷移到自耕農,單擊下拉激活重定向到/#http://localhost:9000/#data-toggle =「dropdown」在yeoman激活路由重定向而不是下拉菜單

這是我如何使用在視圖中的DateTimePicker:

dtpform.html

<div class="dropdown"> 
    <a class="dropdown-toggle" id="dropdown2" role="button" data-toggle="dropdown" data-target="#" href="#"> 
     <div class="input-group"><input type="text" class="form-control" data-ng-model="startDate"><span class="input-group-addon"><i class="glyphicon glyphicon-calendar"></i></span> 
     </div> 
    </a> 
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"> 
     <datetimepicker data-ng-model="startDate" data-datetimepicker-config="{ dropdownSelector: '#dropdown2', minView: 'hour' }"/> 
    </ul> 
</div> 

其他有同樣問題的人忘記了一些依賴關係。我的似乎一切都設定好了。如果我將datetimepicker插入index.html而不是/ dtp路由,它會彈出。

的index.html

... 
<!-- build:js(.) scripts/vendor.js --> 
<!-- bower:js --> 
<script src="bower_components/jquery/dist/jquery.js"></script> 
<script src="bower_components/angular/angular.js"></script> 
<script src="bower_components/bootstrap/dist/js/bootstrap.js"></script> 
<script src="bower_components/angular-animate/angular-animate.js"></script> 
<script src="bower_components/angular-cookies/angular-cookies.js"></script> 
<script src="bower_components/angular-resource/angular-resource.js"></script> 
<script src="bower_components/angular-route/angular-route.js"></script> 
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script> 
<script src="bower_components/angular-touch/angular-touch.js"></script> 
<script src="bower_components/moment/moment.js"></script> 
<script src="bower_components/angular-moment/angular-moment.js"></script> 
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> 
<script src="bower_components/angular-bootstrap-datetimepicker/src/js/datetimepicker.js"></script> 
<!-- endbower --> 
<!-- endbuild --> 
... 

app.js

angular 
    .module('c2gyoApp', [ 
    'ngAnimate', 
    'ngCookies', 
    'ngResource', 
    'ngRoute', 
    'ngSanitize', 
    'ngTouch', 
    'angularMoment', 
    'ui.bootstrap', 
    'ui.bootstrap.datetimepicker' 
    ]) 
    .config(function($routeProvider) { 
    $routeProvider 
     ... 
     .when('/dtp', { 
     ... 
     templateUrl: 'views/dtpform.html', 
     ... 
     }). 
    otherwise({ 
     redirectTo: '/c2g' 
    }); 
    }); 
    ... 

任何想法是什麼原因造成這種現象?

回答

5

href="#"似乎是問題所在。 href標記將告訴角路由器導航到匹配/#的路由。如果你刪除它,下拉應該打開好。

+0

使用或不使用'#'的結果相同,仍然重定向並且日曆未打開。 – mles

+0

我已經嘗試完全按照您使用角發生器爲yeoman描述的設置。並且在另一個路徑(如'/ dtp')上刪除href,使其正確彈出,在離開href時它會使其重定向到'/#'。 –

+0

錯誤,我在我的應用程序中在不同的文件夾中有過'dtpform.html'兩次。我一直在編輯那些沒有被使用的編輯,所以沒有什麼改變。刪除正確文件中的##確實修復了它。 – mles

相關問題