#javascript #html #angularjs
Вопрос:
Я вызываю функцию angularjs из функции javascript. из функции javascript я передаю переменную и оцениваю переменную в $scope.usersName. Но значение не меняется.
Ниже приведен код, который я написал
<!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:
может быть, вы сможете использовать, $scope.$apply()
— это будет работать.
$scope.javaScriptCallAngular = function(value) {
$scope.usersName = value;
$scope.$apply();
};