1

I am calling an angularjs function from an javascript function. from javascript function I am passing a variable and assing the variable to $scope.usersName. But the value is not changing.

Below is the code that I have written

<!DOCTYPE html>
<html data-ng-app="javaScript">
<head>
<meta charset="ISO-8859-1">
<title>Call AngularJS function using JavaScript</title>
<script
    src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<script type="text/javascript">
    var serviceModule = angular.module('javaScript', []);   
    serviceModule.controller('javaScriptController', function($scope) {
        $scope.javaScriptCallAngular = function(value) {
            $scope.usersName = value;
        };
    
    }); 
    function javaScriptCall(value){
        var scope = angular.element(document.getElementById('idForJS')).scope();
        scope.javaScriptCallAngular(value);
    }   
</script>
</head>
<body id="idForJS" data-ng-controller="javaScriptController">
    <h2>Click below to get User Name:</h2>
    <div>
        <button onclick="javaScriptCall('Java Honk')">Get User name from JavaScript call to AngularJS</button>
        <div>User Name: {{usersName}}</div>
    </div>
</body>
</html>

1 Answer 1

1

may be you can use, $scope.$apply() - it will works.

$scope.javaScriptCallAngular = function(value) {                
  $scope.usersName = value;
  $scope.$apply();
};
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.