рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдХреЛрдк рд╡рд╛рд▓реЗ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдСрдирдЪреЗрдВрдЬ рдЗрд╡реЗрдВрдЯ рдХреЛ рдореЙрдбрд▓ рдЕрдкрдбреЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдЯреНрд░рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:
<!doctype html>
<html ng-app="App">
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.js"></script>
<script src="http://code.angularjs.org/1.0.6/angular.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">
"use strict"
var App = angular.module('App', []);
App.controller('Ctrl', function ($scope,$timeout) {
$scope.change1 = function () {
console.warn("inside change", $scope.y);
}
$scope.change2 = function () {
console.warn("inside change", $scope.x);
}
});
App.directive("wminput", function () {
return {
restrict: "E",
replace: true,
scope: {
"onChange":"&",
"value": "="
},
template: '<input type="text" data-ng-model="value" data-ng-change="onChange();">'
}
});
</script>
</head>
<body>
<div data-ng-controller="Ctrl">
"Onchange will be triggered after the model update"
<input data-ng-change="change1()" data-ng-model="y">
<br><br>
"Onchange will be triggered before the model update"
<wminput on-change="change2()" value="x"></wminput>
</div>
</body>
</html>
рджрд┐рд▓рдЪрд╕реНрдк рдХреЛрдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ ... http://plnkr.co/edit/lsrga8qMcbgNWATrVht3?p=preview
рдпрд╣ рдХреЗрд╡рд▓ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдСрди-рдЪреЗрдВрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкреИрд░реЗрдВрдЯ рд╕реНрдХреЛрдк рдЪреМрдбрд╝рд╛рдИ 'рдПрдВрдб' рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдореЗрдВ рдбреЗрд▓рд┐рдЧреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо angularjs рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ RAD рдЯреВрд▓ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдкреНрд░рдореБрдЦ рдмрдЧ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрд╡реЗрджрди рдореЗрдВ рд╣рд░ рд╡рд┐рдЬреЗрдЯ рдХреЛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдордиреЗ onChange рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдзрд┐ рдмрдирд╛рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рдирдЬрд░: https://studio.wavemaker.com/
рд╡рд┐рдирдп, рд╡рд┐рдирдп
рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреЛрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдпрд╣ рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: http://plnkr.co/edit/Xe6ErQrg7WL6aAIoM9Gd?p=preview
рдХреНрдпрд╛ рдЗрд╕реЗ рдХрднреА рднреА рдЬрд▓реНрдж рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрд╣ sooooo рднреНрд░рд╛рдордХ рд╣реИред
рдЖрдЧреЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╣ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ .. plnkr рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, ngModel рдХрд╛ рдорд╛рди рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмреАрдЪ рджреЛ рдмрд╛рдзреНрдп рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИред рдЕрдм рдЬрдм рдЖрдк рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдорд╛рди рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рддреЛ ngModel рдкрд╣рд▓реЗ _isolate_ рдЧреБрдВрдЬрд╛рдЗрд╢ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛, рдФрд░ рдЙрд╕реА рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рдореЗрдВ ngChange рдХреЛ рдЖрдЧ рджреЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рджреЛ-рддрд░рдлрд╝рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдиреЗ рдЕрднреА рддрдХ рдирд┐рд░реНрджреЗрд╢рдХреАрдп рджрд╛рдпрд░реЗ рдореЗрдВ рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреЗрд░реЗрдВрдЯ рд╕реНрдХреЛрдк рдореЗрдВ ngChange рдХреЛ x
рдХрд╛ "рдкреБрд░рд╛рдирд╛" рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИред рдЕрдм рджреЛ-рддрд░рдлрд╝рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рд╡реЙрдЪрд░ рдХреЛ рдореВрд▓реНрдп рдХреЛ рд╕реНрдерд┐рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рджреЛ рдбрд╛рдЗрдЬреЗрд╕реНрдЯ рд╕рд╛рдЗрдХрд┐рд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдХ рджрд╛рдпрд░реЗ рдХреЛ рдХреЗрд╡рд▓ рддрднреА рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдПрдирдХрд╛рдЙрдВрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЗрд╕реЗ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдмрд╛рдВрдзрдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдорд╛рди рдХреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░рдЦрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк ngModel рд╕реЗ рдмрд╛рдВрдзрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣, рдорд╛рди рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рджрд╛рдпрд░реЗ рджреЛрдиреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдВрджрд░реНрдн рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ рдЬрдм ngChange рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: http://plnkr.co/edit/fs7S6yX1a5aeo1Esex22?p=preview
Narretz, рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВред рдХреЛрдб рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрдмрдВрдз рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рджреЛ-рддрд░рдлрд╝рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддрд╛ рд╣реИред рдЬрдм рдмрдВрдзрди рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдХрд╣реАрдВ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдПрдХ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рдХреБрдЫ рдиреАрдЪреЗ рдПрдХ рдмрдВрдзрди рдХреЗ рдмрдВрдзрди рдореЗрдВ рдмрд╛рдВрдзрддрд╛ рд╣реИ ... рдпрджрд┐ рдЙрд╕ рдореЙрдбрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореВрд▓ рдирд┐рдпрдВрддреНрд░рдХ рдЧреБрдВрдЬрд╛рдЗрд╢ рдореЙрдбрд▓ рдЙрд╕реА рдкрд╛рдЪрди рдЪрдХреНрд░ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд╣реИред рдпрд╣ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред
рдереЛрдбрд╝рд╛ рд╕рдВрдмрдВрдзрд┐рдд, рдФрд░ рдЗрд╕реА рддрд░рд╣ рднреНрд░рдорд┐рддред рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп ngChange
рдПрдХ рдФрд░ рдХреНрд╖реЗрддреНрд░ рд╣реИ рдХрд┐ рд╢реЗрдпрд░реЛрдВ рдПрдХ рдкрд░ рдЯреНрд░рд┐рдЧрд░ рд╕рддреНрдпрд╛рдкрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ngModel
, рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рдкрд╣рд▓реЗ рд╢реБрд░реВ рд╣реЛ рд░рд╣рд╛ рд╣реИ $modelValue
рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдиреНрдпрддрд╛ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛рдирд╛ред
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ $timeout
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдлрд┐рд░ рднреА рдЙрд▓рдЭрди рдореЗрдВ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рдЬрд░реВрд░рдд рдХреНрдпреЛрдВ рд╣реИред
рдЙрджрд╛рд╣рд░рдг:
http://codepen.io/jakobadam/pen/qmBdrJ?editors=1010
рд╕рд╛рджрд░, рдЬреИрдХрдм
рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ? рд╢рд╛рдпрдж рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛?
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рдЬрдмрдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ рджрд╛рдпрд░реЗ рдХреЗ рдХрд╛рд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ; рдЬрдм рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдСрди-рдХреЙрд▓ рдХреЙрд▓ рдХреА рдЖрдЧ рд╕реЗ рдПрдХ рдЕрджреНрдпрддрди рдореЙрдбрд▓ рдХреА рдЙрдореНрдореАрдж рд╕реЗ рдЖрддрд╛ рд╣реИ рдФрд░ рдкрд┐рдЫрд▓реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЙрдбрд▓ рдХреЛ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рддреЛ рд╡рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред
рдореИрдВ рд╕рд╡рд╛рд▓ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реВрдВ, рдХреНрдпрд╛ рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╣реЛрдирд╛ рд╣реИ?
рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдФрд░ рдпрджреНрдпрдкрд┐ рдпрд╣ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдХрдИ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рд╣реИред рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЕрдм (a) рдПрдХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЪреЗрдВрдЬ рд╣реЛрдЧрд╛ рдФрд░ (b) рдХрдИ рдпреВрдЬреЗрд╕ рдХреЛ рдЕрд╕рдорд░реНрдерд┐рдд рдХрд░ рджреЗрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ рдЬрд╣рд╛рдБ рдЖрдк рдореВрд▓реНрдп #before_ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ngChange
рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рдкреИрд░реЗрдВрдЯ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдк рд╕рднреА рдХреЛ рдЦреБрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рд╣реЛрдЧрд╛:
рдХрд╛ рд╡рд░реНрддрдорд╛рди рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди ngChange
рдХрд╕рдХрд░ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИ ngModel
ред рдбрд╛рдпрд░реЗрдХреНрдЯрд┐рд╡ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рджреЛрдиреЛрдВ рдПрдХ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди / рдЖрдВрддрд░рд┐рдХ рдХрд╛рдордХрд╛рдЬ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрджрд┐ рдЖрдкрдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрд▓рдмреИрдХ рдХреЛ рдЕрджреНрдпрддрди рдореВрд▓реНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
рдХреЙрд▓рдмреИрдХ рдкрд░ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрджреНрдпрддрди рдорд╛рди рдкрд╛рд╕ рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдпрд╛рдиреА рдкрд╛рдЪрди рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рд╕рднреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЛ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рддреЛ рдЖрдк рдХреЙрд▓рдмреИрдХ рдХреЗ рдЕрдВрджрд░ рд╣рдореЗрд╢рд╛ $timeout
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк ngChange
рдХрд╛ "async" рд╕рдВрд╕реНрдХрд░рдг рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХрд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рддреБрдЪреНрдЫ рд╣реИред (рдЖрдк рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдирд┐рд░реНрджреЗрд╢ рдХреЛ рднреА рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред) рдЬреИрд╕реЗред
.directive('myAsyncChange', function($timeout) {
return {
restrict: 'A',
require: 'ngModel',
link: function(scope, element, attr, ctrl) {
ctrl.$viewChangeListeners.push(function() {
$timeout(function() {
scope.$eval(attr.myAsyncChange);
});
});
}
};
});
<input ng-model="foo" my-async-change="onChange()" />
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
Narretz, рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВред рдХреЛрдб рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдиреБрдмрдВрдз рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рджреЛ-рддрд░рдлрд╝рд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддрд╛ рд╣реИред рдЬрдм рдмрдВрдзрди рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд╕рд╛рде рдХрд╣реАрдВ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдПрдХ рдФрд░ рдирд┐рд░реНрджреЗрд╢ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ, рдФрд░ рдЖрдЧреЗ рдХреБрдЫ рдиреАрдЪреЗ рдПрдХ рдмрдВрдзрди рдХреЗ рдмрдВрдзрди рдореЗрдВ рдмрд╛рдВрдзрддрд╛ рд╣реИ ... рдпрджрд┐ рдЙрд╕ рдореЙрдбрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕реНрдЯреИрдХ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рдореВрд▓ рдирд┐рдпрдВрддреНрд░рдХ рдЧреБрдВрдЬрд╛рдЗрд╢ рдореЙрдбрд▓ рдЙрд╕реА рдкрд╛рдЪрди рдЪрдХреНрд░ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рд╣реИред рдпрд╣ рдЙрдкрднреЛрдХреНрддрд╛ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред