我需要在表格中包含一些基于模板prototype/views/prototype/booking/templates/table-row.html
的tr元素。我使用custom指令来指示应插入模板的位置。我还定义rownum
以显示粘贴模板时应使用的值。这根本不做任何事情。如何使它工作?
prototypeApplication.directive('tablerowtemplate', function() {
return {
restrict: 'E',
transclude: true,
scope: { rownum:'@' },
templateUrl: 'prototype/views/prototype/booking/templates/table-row.html'
};
});
预订
<table><tr><td>static entry</td></tr>
<tablerowtemplate rownum="1"></tablerowtemplate>
<tablerowtemplate rownum="2"></tablerowtemplate>
</table>
prototype / views / prototype / booking / templates / table-row.html
<tr>
<td>
<div class="form-group first-name">
<label>First name</label>
<input type="text" ng-class="{'input-valid': isValidField('FirstName', persons[{{rownum}}].firstName)}"
name="firstName" class="form-control input-name" ng-model="persons[{{rownum}}].firstName"
ng-focus="focused('inputFirstName', {{rownum}})" placeholder="-">
</div>
</td>
</tr>
更新
控制台没有错误。渲染时,html dom中的所有<tablerowtemplate rownum="1"></tablerowtemplate>
都不会被激活
更新2
当我尝试生成一些cell
时,我只得到一个:
<cell rownum="0"></cell>
<cell rownum="1"></cell>
<cell rownum="2"></cell>
<cell rownum="3"></cell>
prototypeApplication.directive('cell', function() {
return {
restrict: 'E',
replace: true,
transclude: true,
scope: { rownum:'@' },
templateUrl: 'prototype/views/prototype/booking/templates/table-row.html'
};
});
这是否意味着设置rownum="3"
使模板{{rownum}}等于3?属性值是否可能告诉模板注入哪些值?如何解决?
答案 0 :(得分:1)
这是一个有角度的问题:( 请在此处阅读:https://github.com/angular/angular.js/issues/1459
我也试过写一个简单的指令,行为很奇怪!