mirror of
https://github.com/zhigang1992/angular.js.git
synced 2026-04-09 17:10:34 +08:00
refactor(select): remove code duplication
This commit is contained in:
@@ -414,21 +414,13 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
|
||||
|
||||
ctrl.$render = render;
|
||||
|
||||
scope.$watchCollection(valuesFn, function () {
|
||||
if (!renderScheduled) {
|
||||
scope.$$postDigest(render);
|
||||
renderScheduled = true;
|
||||
}
|
||||
});
|
||||
if ( multiple ) {
|
||||
scope.$watchCollection(function() { return ctrl.$modelValue; }, function () {
|
||||
if (!renderScheduled) {
|
||||
scope.$$postDigest(render);
|
||||
renderScheduled = true;
|
||||
}
|
||||
});
|
||||
scope.$watchCollection(valuesFn, scheduleRendering);
|
||||
|
||||
if (multiple) {
|
||||
scope.$watchCollection(function() { return ctrl.$modelValue; }, scheduleRendering);
|
||||
}
|
||||
|
||||
|
||||
function getSelectedSet() {
|
||||
var selectedSet = false;
|
||||
if (multiple) {
|
||||
@@ -448,6 +440,14 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
|
||||
}
|
||||
|
||||
|
||||
function scheduleRendering() {
|
||||
if (!renderScheduled) {
|
||||
scope.$$postDigest(render);
|
||||
renderScheduled = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function render() {
|
||||
renderScheduled = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user