你能告诉我为什么,当我在Visual Studio中用TypeScript编写AngularJS时,我无法编译这段代码:我使用正确的 ng.route.IRouteParamsService 类型 $ routeParams ???
var param = $ routeParams.id不会编译,但它是编写代码的有效方法。 如果我没有为$ routeParams声明类型,则没有编译器抱怨并且一切正常。 对我来说没什么意义。请指教。
答案 0 :(得分:0)
我没有在我面前使用ngRoute打字的项目,但你试过#subnav {
z-index: 99999999;
width: 100%;
overflow: auto;
font-size: 1.1rem;
background-color: yellow;
}
#subnav #subnav-cont {
display: flex;
margin: 0 auto;
padding: 0 1.5%;
max-width: 1280px;
background-color: red;
}
#subnav #subnav-cont #site-logo {
flex: 1;
padding: 10px 0;
height: 50px;
/*visibility: hidden;*/
text-align: left;
}
#subnav #subnav-cont #site-logo img {
display: inline-block;
margin: 0;
padding: 0;
height: 30px;
}
#subnav #subnav-cont > ul li {
display: inline-block;
padding: 0 20px;
height: 50px;
font-size: 1em;
line-height: 50px;
white-space: nowrap;
}
#subnav #subnav-cont #nav-links {
flex: 2;
text-align: center;
}
#subnav #subnav-cont #nav-social {
flex: 1;
text-align: right;
}
#subnav #subnav-cont #nav-social li {
padding: 0 5px;
}
吗?
angular-route typings show它是一个字符串索引对象。
<nav id="subnav">
<div id="subnav-cont">
<div id="site-logo">
<img src="https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png">
</div>
<ul id="nav-links">
<li>
<a href="#" class="subnav-link">Link</a>
</li>
<li>
<a href="#" class="subnav-link">Link</a>
</li>
<li>
<a href="#" class="subnav-link">Link</a>
</li>
<li>
<a href="#" class="subnav-link">Link</a>
</li>
</ul>
<ul id="nav-social">
<li>
<a href="#" class="icon-facebook">Facebook</a>
</li>
<li>
<a href="#" class="icon-twitter">Twitter</a>
</li>
<li>
<a href="#" class="icon-instagram">Instagram</a>
</li>
</ul>
</div>
</nav>
由于打字不能提前知道你将拥有什么样的参数,这是允许动态对象的最佳方式(没有泛型,在这种情况下会很麻烦)。