【发布时间】:2013-09-24 11:55:56
【问题描述】:
我将 Jade Template 与 Angular JS 结合使用,并在 Angular 的控制器中定义了这样的转发器处理简单数组:$scope.ids = ['demo1', 'demo2']
.controls(ng-repeat="controlId in ids")
<div id="{{$index}}">{{$index}}</div>
无论我做什么 Jade 都会尝试解析传递给 SELECT 标记的所有内容,因此它总是从标记的属性中删除 $index 变量。作为 HTML 的结果,我总是看到以下内容:
<div id="">0</div> // ID attribute is always empty because Jade replaces it
<div id="">1</div> // at the same time HTML of the tag was rendered correctly
问题:如何防止 Jade 解析这个 HTML 属性并在结果 HTML 中打印字符串?
P。 S. 我尝试了以下语法,但它不起作用...建议?
id="|{{$index}}" // id is empty
id!="{{$index}}" // id is empty
id="!{{$index}}" // syntax error
id="!{{controlId}}" // syntax error
{:id => {{$index}}} // does not add ID at all
P。 P.S. 只是为了解释为什么我把 Jade 和 HTML 搞混了——我尝试使用“jade only”语法,但它也不起作用:
.controls(ng-repeat="controlId in ids")
.demo(id="{{$index}}") {{$index}}
【问题讨论】:
-
它没有理由不工作。你为什么使用 .controls 是玉。和哪个是 html?可能您的 div 超出了 html 中 .controls 的范围。@Sangram Singh:我尝试只使用 Jade 语法,直到我意识到我只需要原始 HTML 这就是为什么我在这里简单地展示两种不同的语法 - “仅限 Jade 语法”不起作用太问题不在于 Jade。我正在使用 id={{$index}} 并且它有效。什么是
ids = ?@Sangram Singh : 回复上面 $scope.ids = ['demo1', 'demo2']
标签: javascript angularjs pug