【发布时间】:2018-01-24 10:53:45
【问题描述】:
我看到有人(在 angularjs 中)编写了这段代码,我想知道它是如何工作的(只是问我的知识):
$scope.changeVisibility = function() {
$scope.visibility = _.memoize(function() {
return !!_.random(0, 4);
});
};
$scope.changeVisibility()
和额外的 HTML 视图(使用了 changeVisibility 和 visibility):
<button ng-click="changeVisibility()">Visibility change</button>
<div class="row">
<div class="col" visible="visibility(1)">
1. Row, 1. Col
</div>
<div class="col" visible="visibility(2)">
Mark Hane<br>
28 yearold<br>
234 SG
</div>
<div class="col" visible="visibility(3)">
<div class="row" ng-if="visibility(3)">
1. Row, 3. Col, 1. Row -- 1<br>
1. Row, 3. Col, 1. Row -- 2
</div>
<div class="row" ng-if="visibility(3)">
1. Row, 3. Col, 2. Row -- 1<br>
1. Row, 3. Col, 2. Row -- 2<br>
1. Row, 3. Col, 2. Row -- 3
</div>
</div>
</div>
... so on to visibility(9)
</div>
</html>
谁能告诉我?非常感谢。
【问题讨论】:
-
代码的哪一部分看不懂?当你运行代码时发生了什么,什么符合你的期望?您是否尝试在控制台中调用 memoized 函数来探索它的行为方式?
标签: javascript angularjs lodash memoization