Mat*_*vis 4 twitter-bootstrap durandal
我试图在durandal 2.0 app中连接一些bootstrap下拉导航:
<ul class="nav nav-pills">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
<span>Dropdown</span>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#/view/a>Option A</a></li>
<li><a tabindex="-1" href="#/view/b">Option B</a></li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
单击"下拉列表"会导致Durandal的路由器尝试导航到根路由(即"#"或"").永远不要打开菜单.它是否正确?解决方法?
标签遭遇同样的问题:
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li>
<li><a href="#tab2" data-toggle="tab">Section 2</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<p>I'm in Section 1.</p>
</div>
<div class="tab-pane" id="tab2">
<p>Howdy, I'm in Section 2.</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题其实很简单.与路由模块没有冲突.我假设启动工具包默认包含了bootstrap javascript,但事实并非如此.
修复就像在我的require依赖项中添加一行一样简单:
var system = require('durandal/system'),
app = require('durandal/app'),
viewLocator = require('durandal/viewLocator');
require('bootstrap');
Run Code Online (Sandbox Code Playgroud)
请注意,我的require.config是:
require.config({
paths: {
'text': '../lib/require/text',
'durandal':'../lib/durandal/js',
'plugins' : '../lib/durandal/js/plugins',
'transitions' : '../lib/durandal/js/transitions',
'knockout': '../lib/knockout/knockout-2.3.0',
'bootstrap': '../lib/bootstrap/js/bootstrap',
'jquery': '../lib/jquery/jquery-1.9.1'
},
shim: {
'bootstrap': {
deps: ['jquery'],
exports: 'jQuery'
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2997 次 |
| 最近记录: |