将双引号添加到预编译 Ember 模板
Double quotes being added to precompiled Ember templates
这是有问题的模板:
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand">
My Company
</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
{{#each page in pages}}
<li {{bind-attr class="page.isActive:active"}}><a href="javascript:undefined" {{action 'navigate' page}}>{{page.name}}</a></li>
{{/each}}
</ul>
<form class="navbar-form navbar-left hidden-sm" role="search">
<div class="form-group">
<input type="text" class="form-control" />
</div>
<button {{action "search"}} class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li>{{#link-to 'cart' class="glyphicon glyphicon-shopping-cart"}}{{/link-to}}</li>
{{#if user}}
<li>{{user}}</li>
{{else}}
<li>{{#link-to 'login'}}Sign In{{/link-to}}</li>
<li>{{#link-to 'register'}}Register{{/link-to}}</li>
{{/if}}
</ul>
</div>
</div>
</nav>
{{outlet}}
<div class="container">
<hr />
<footer class="footer">
© My Company
</footer>
</div>
我使用我的 Ember (1.9.1)
版本附带的 ember-template-compiler.js 文件编译它们
出于某种原因,这些引号被添加到标记中的导航周围,它弄乱了我的页面布局。
我认为它可能与 ember 1.9 的 whitespace issue 有关,但我尝试用 Unix 风格结尾保存文件,但没有帮助。
有人知道是什么导致了这个问题吗?
原来是因为 Visual Studio 会将我的 .hbs 文件保存为带有 BOM(带有签名)的 UTF8,这会在文件的开头添加一堆隐藏字符。
我没有签名就保存了它们,现在可以正常使用了。不再有空字符串,我的布局是我期望的样子。
这是有问题的模板:
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand">
My Company
</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
{{#each page in pages}}
<li {{bind-attr class="page.isActive:active"}}><a href="javascript:undefined" {{action 'navigate' page}}>{{page.name}}</a></li>
{{/each}}
</ul>
<form class="navbar-form navbar-left hidden-sm" role="search">
<div class="form-group">
<input type="text" class="form-control" />
</div>
<button {{action "search"}} class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li>{{#link-to 'cart' class="glyphicon glyphicon-shopping-cart"}}{{/link-to}}</li>
{{#if user}}
<li>{{user}}</li>
{{else}}
<li>{{#link-to 'login'}}Sign In{{/link-to}}</li>
<li>{{#link-to 'register'}}Register{{/link-to}}</li>
{{/if}}
</ul>
</div>
</div>
</nav>
{{outlet}}
<div class="container">
<hr />
<footer class="footer">
© My Company
</footer>
</div>
我使用我的 Ember (1.9.1)
版本附带的 ember-template-compiler.js 文件编译它们出于某种原因,这些引号被添加到标记中的导航周围,它弄乱了我的页面布局。
我认为它可能与 ember 1.9 的 whitespace issue 有关,但我尝试用 Unix 风格结尾保存文件,但没有帮助。
有人知道是什么导致了这个问题吗?
原来是因为 Visual Studio 会将我的 .hbs 文件保存为带有 BOM(带有签名)的 UTF8,这会在文件的开头添加一堆隐藏字符。
我没有签名就保存了它们,现在可以正常使用了。不再有空字符串,我的布局是我期望的样子。