How To Watch A Variable In A Service
$scope acts as a built-in object in AngularJs.
It consists of awarding data and methods. The $scope is acts as a link betwixt a controller and view (HTML).
$scope is used to transfer the data.
$watch:
Scope in AngularJs object has $watch event which comes into moving-picture show when the model belongings gets inverse or altered.
When a data binding is created from some point of programme in the view to a variable on the $scope object, a watch is created internally in AngularJs.
The digest gets called multiple times, when nosotros $sentinel() a function.
Every time when nosotros bind the UI, We insert $watch in $watch listing.
User: <input blazon="text" ng-model="user" /> Countersign: <input type="password" ng-model="laissez passer" />
Example:
<!DOCTYPE html>
<
html
>
<
head
>
<
championship
>
AngularJs $spotter() Role with GFG
</
championship
>
<
script
src
=
</
script
>
<
script
type
=
"text/javascript"
>
var app = athwart.module("watchApp", []);
app.controller("watchCtrl", function ($scope) {
$scope.count = -i;
$scope.$lookout man(
"txtval", function (newval, oldval) {
$scope.count = $telescopic.count + 1;
});
});
</
script
>
</
head
>
<
body
>
<
div
ng-app
=
"watchApp"
ng-controller
=
"watchCtrl"
>
Enter Text:<
input
type
=
"text"
ng-model
=
"txtval"
/>
<
br
/>
<
br
/>
<
span
style
=
"color: Light-green;"
>
$watch() Function Fired: {{count}}</
span
>
</
div
>
</
trunk
>
</
html
>
$watch in AngularJs is a service.
Information technology is used to keep the track of the changes on specific properties inside a given scope. It is similar to an upshot listener. eastward changes are made in the value of specified variables.
When we register a watch we pass 2 functions equally parameters to the $watch() office.These functions are:
- A value part
- A listener function
Example:
$scope.$lookout(part() {}, //value function function() {} //listener function );
A watcher can change in responses on:
- Timeouts
- UI
- Circuitous asynchronous computations performed by web workers
- Ajax calls
Methods Used: $telescopic.$watchGroup
$watchGroup() is a shortcut to prepare watchers with the same callback, passing an array of watchExpressions.
$telescopic.$watchGroup(['obj.a', 'obj.b.bb[4]', 'letters[8]'], function(newValues, oldValues, scope) {
//…
});
$scope.$watchCollection is a shortcut to watch arrays or objects. In arrays, the listener is called when any of the elements are replaced, deleted, or added.
The $watch keeps rails of the variable. This role takes two arguments:
-
new value
$scope.$picket('expression', role (newvalue, oldvalue) { //expression parameter
//Code
}); -
old value
$scope.$watch(function () {}, function (newvalue, oldvalue) { //Part Parameter
// Code
});
Example:
<!DOCTYPE html>
<
html
>
<
head
>
<
script
src
=
</
script
>
</
caput
>
<
torso
ng-app
=
"myNgApp"
>
<
div
ng-controller
=
"myController"
>
Message: <
input
type
=
"text"
ng-model
=
"message"
/>
<
br
/>
New Message: {{newMessage}} <
br
/>
One-time Message: {{oldMessage}}
</
div
>
<
script
>
var ngApp = angular.module('myNgApp', []);
ngApp.controller('myController', role ($telescopic) {
$scope.message = "GeeksForGeeks!";
$telescopic.$watch(
'message', office (newValue, oldValue) {
$scope.newMessage = newValue;
$scope.oldMessage = oldValue;
});
});
</
script
>
</
body
>
</
html
>
Others:
$digest()
We telephone call the the $digest() function when AngularJS thinks information technology is necessary.
For example, after a push button click handler is executed, or after an AJAX call returns.
$apply():
The $scope.$apply() function takes a part every bit parameter which it is executed, and after that $scope.$digest() is called internally. That makes it helpful to all the watches are checked
$scope.$utilise(function() { $telescopic.data.myVar = "value"; });
Example of $Watch:
<
div
class
=
"container"
information-ng-app
=
"app"
>
<
div
grade
=
"well"
data-ng-controller
=
"FooCtrl"
>
<
p
><
strong
>Controller1</
strong
></
p
>
<
div
class
=
"row"
>
<
div
course
=
"col-sm-6"
>
<
p
><
a
href
=
""
ng-click
=
"setItems([ { name: 'I am single item' } ])"
>
Send item one </
a
></
p
>
<
p
><
a
href
=
""
ng-click=
"setItems([ { proper name: 'Detail one of 2' },
{ name: 'Item 2 of 2' } ])">
Ship particular two </
a
></
p
>
<
p
><
a
href
=
""
ng-click=
"setItems([ { proper name: 'Detail one of 3' },
{ name: 'Detail 2 of three' },
{ proper noun: 'Item 3 of three' } ])">
Send detail three </
a
></
p
>
</
div
>
<
div
class
=
"col-sm-vi"
>
<
p
><
a
href
=
""
ng-click
=
"setName('Sheldon')"
>
Send name: Geeks</
a
></
p
>
<
p
><
a
href
=
""
ng-click
=
"setName('Leonard')"
>
Ship name: For</
a
></
p
>
<
p
><
a
href
=
""
ng-click
=
"setName('Penny')"
>
Send name: Geeks</
a
></
p
>
</
div
>
</
div
>
</
div
>
<
div
class
=
"well"
data-ng-controller
=
"BarCtrl"
>
<
p
><
strong
>Controller2</
strong
></
p
>
<
p
ng-if
=
"name"
>Name is: {{ name }}</
p
>
<
div
ng-repeat
=
"item in items"
>
{{ item.name }}</
div
>
</
div
>
</
div
>
var
app = angular.module(
'app'
, []);
app.factory(
'PostmanService'
,
part
() {
var
Postman = {};
Postman.fix =
function
(key, val) {
Postman[primal] = val;
};
Postman.become =
function
(key) {
return
Postman[primal];
};
Postman.watch =
function
($telescopic, cardinal, onChange) {
render
$scope.$spotter(
office
() {
render
Postman.get(fundamental);
},
function
(newValue, oldValue) {
if
(newValue !== oldValue) {
$scope[cardinal] = newValue;
if
(athwart.isFunction(onChange)) {
onChange(newValue, oldValue);
}
}
}
);
};
return
Postman;
});
app.controller(
'FooCtrl'
, [
'$scope'
,
'PostmanService'
,
part
($scope, PostmanService) {
$scope.setItems =
part
(items) {
PostmanService.ready(
'items'
, items);
};
$scope.setName =
role
(proper name) {
PostmanService.set(
'proper name'
, name);
};
}]);
app.controller(
'BarCtrl'
, [
'$scope'
,
'PostmanService'
,
function
($scope, PostmanService) {
$scope.items = [];
$scope.proper noun =
''
;
PostmanService.watch($scope,
'items'
);
PostmanService.watch(
$scope,
'name'
,
function
(newVal, oldVal) {
alarm(
'Hullo, '
+ newVal +
'!'
);
});
}]);
CSS:
.well {
margin-top
:
10px
;
margin-bottom
:
10px
;
}
p:terminal-child {
margin-bottom
:
0
;
}
How To Watch A Variable In A Service,
Source: https://www.geeksforgeeks.org/how-to-watch-service-variables/
Posted by: fosterretion1985.blogspot.com
0 Response to "How To Watch A Variable In A Service"
Post a Comment