Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 尽量减少视图中绑定的重复_Angularjs - Fatal编程技术网

Angularjs 尽量减少视图中绑定的重复

Angularjs 尽量减少视图中绑定的重复,angularjs,Angularjs,我是一个新的角度,因为可能会变得明显 我创建了一个视图,其中包含一些数据表,用于向用户显示不同的统计数据。一个简单的例子是: <div class="table-container"> <table class="percs"> <thead> <tr> <td>Stat Name</td> <td>S

我是一个新的角度,因为可能会变得明显

我创建了一个视图,其中包含一些数据表,用于向用户显示不同的统计数据。一个简单的例子是:

<div class="table-container">
    <table class="percs">
        <thead>
            <tr>
                <td>Stat Name</td>
                <td>Stat Value</td>
                <td>Stat bar</td>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Stat 1</td>
                <td>{{ statPercs.stat1 }}</td>
                <td><uib-progressbar value="statPercs.stat1"></uib-progressbar></td>
            </tr>
            <tr>
                <td>Stat 2</td>
                <td>{{ statPercs.stat2 }}</td>
                <td><uib-progressbar value="statPercs.stat2"></uib-progressbar></td>
            </tr>
        </tbody>
    </table>
</div>

统计名称
统计值
统计条
统计1
{{statPercs.stat1}}
统计2
{{statPercs.stat2}}
我使用progressbar只是为了数据的一个小的可视化表示。然而,如果到目前为止我的理解是正确的,尽管表中的每一行只引用一个值,但它将在两个单独的标记中引用,从而导致2$$watchers

每个值(即“statPercs.stat1”、“statPercs.stat2”等)仅使用一个绑定就可以实现这一点,但仍然能够在表的多个列中重复使用该值吗


或者更好的是,为对象本身(即“statPercs”)创建一个绑定,并且仍然能够在表中的多个位置使用该对象中包含的值?

您需要使用指令概念。。这是我自己写的,你用的是有文件记载的angular。这就产生了观察者,这是意料之中的,因为这就是angular的工作原理。如果没有任何性能问题,就不应该尝试优化任何东西(我打赌你没有任何性能问题)。2个观察者什么都不是。当您有一个性能时,开始问自己一些问题,看看您的性能是否超过2000/3000左右。@N.V.Prasad我知道自定义指令,但我想我不清楚如何使用它们来消除这些多个绑定。我是否会根据范围对象的值在指令中创建局部变量并重用它们,而不是对范围对象本身使用几个{{}绑定?@JBNizet不幸的是,我的示例是一个简化的示例。我有几个表,大多数表至少有10行,有些表最多有5列。加入一些ngClass和ngShow指令,以及基于ngRepeat的菜单树,它会导致观察者计数大约5000!这就是为什么我决定后退一步,找出我做错了什么。