我有以下角度代码来计算比率并“选择”表格行中的某个级别:
<form>
<input type="text" data-ng-model="N" />
<input type="text" data-ng-model="D" />
<p class="value" data-ng-show="!!(!!N && !!D && D != 0)">{{ N/D | number: 1 }}</p>
</form>
<table>
<tr>
<td data-ng-class="{'active': N/D < 0.5}">Low</td>
</tr>
<tr>
<td data-ng-class="{'active': N/D >= 0.5">High</td>
</tr>
<table>
在这个例子中,我使用的是N / D,但实际上计算时间稍长......
是否可以创建指令以从HTML中删除所有逻辑?
我认为指令可能比这种情况下的控制器更好,不是吗?
答案 0 :(得分:0)
当然,您可以使用函数并在指令中编写此函数,而不是内联表达式。
例如,HTML可以是:
data-ng-show="isShown()"
在你的指令中:
// you can also use controller instead of link
link: function(scope) {
scope.isShown = function() {
var D = scope.D;
var N = scope.N;
return !!(!!N && !!D && D != 0);
}
}