AngularJs如何检测范围变量对象中的更改

AngularJs如何检测范围变量对象中的更改,angularjs,webspeech-api,Angularjs,Webspeech Api,我正在使用 以下是HTML代码: <!DOCTYPE html> <html ng-app="plunker"> <head> <meta charset="utf-8" /> <title>TestBed</title> <link data-require="bootstrap-css@3.0.0" data-semver="3.0.0" rel="stylesheet" href="//

我正在使用

以下是HTML代码:

<!DOCTYPE html>
<html ng-app="plunker">

<head>
    <meta charset="utf-8" />
    <title>TestBed</title>
    <link data-require="bootstrap-css@3.0.0" data-semver="3.0.0" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
    <link data-require="font-awesome@4.3.0" data-semver="4.3.0" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" />
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
    <link rel="stylesheet" href="css/style.css" />

</head>

<body ng-controller="MainCtrl" ng-cloak="">

<div class="container">

    <div class="row">
        <div class="col-md-12">

            asdfasdf
            <js-speech ng-model="speech"></js-speech>

            <!--
            <pre>js-speech ng-model="speech"</pre>
            <br />-->

            <strong>Debugger</strong>
            <pre>$scope.speech:{{speech|json}}</pre>
        </div>
    </div>
</div>

<!-- Application Scripts -->
<script data-require="jquery@2.0.3" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
<script data-require="angular.js@1.0.x" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.min.js" data-semver="1.0.8"></script>
<script data-require="modernizr@2.6.2" data-semver="2.6.2" src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.js"></script>



<script src="js/Speech.js"></script>
<script src="js/speechapp.js"></script>

</body>

</html>
下面是angular speechapp.js

$scope.$watch('speech.interimResults', function () {
    console.log($scope.speech.interimResults);
}, true);
我想做的是,每当用户完成对着麦克风说话时,我就可以得到输入文本,这样我就可以对文本内容进行后期处理。我需要获取文本输入的内容并能够将其发送到API,但是我找不到该指令的onresult事件的挂钩

这是观看scope.speech的好方法吗?我尝试了$scope。$watch以查看$scope.speech是否已更改但不起作用。提前感谢您的帮助。

请勿使用$scope引用$watch中的作用域变量。所以不是

这对你有帮助。
$scope.$watch('$scope.speech.interimResults', function () {
    console.log("---->speech.interimResults<----");
}, true);
$scope.$watch('speech.interimResults', function () {
    console.log($scope.speech.interimResults);
}, true);