我正在尝试整合Annyang.js和Angular.js。
我正在尝试使用DOM制作Annyang.js bind(Angular样式)的结果。一些想法可能是使用角度服务,如$ watch,$ apply,$ digest,或创建指令/工厂/提供商???我不知所措。帮助将不胜感激。
到目前为止,它理解VoiceCtrl范围内的命令,但它不绑定到$ scope.said
使用Javascript:
var SpeechApp = angular.module('SpeechApp', []);
function VoiceCtrl($scope) {
$scope.said='';
$scope.helloWorld = function() {
$scope.said = "Hello world!";
}
$scope.commands = {
'hello (world)': $scope.helloWorld,
};
annyang.debug();
annyang.init($scope.commands);
annyang.start();
}
HTML:
<body ng-app="Voice" ng-controller="VoiceCtrl">
<p>{{said}}</p>
</body>
答案 0 :(得分:1)
看起来你错过了scope.$apply()
。这需要允许angular更新所有绑定,因为annyang.js将在角度上下文之外工作。
尝试用
替换你的命令'Hello (world)': function() {
$scope.$apply($scope.helloWorld);
});
答案 1 :(得分:0)
此外,您在HTML中调用模块“SpeechApp”,在HTML中调用ng-app =“Voice”。
建议使用此HTML:
<body ng-app="SpeechApp">
<div ng-controller="VoiceCtrl">
<p>Hi: {{said}}</p>
</div>
</body>
答案 2 :(得分:0)