我要将这个d3gauge.js文件导入到我的angular2组件memmon.component.ts文件中.
import '../../../../js/d3gauge.js';
export class MemMonComponent {
createMemGauge() {
new drawGauge(this.opt); //drawGauge() is a function inside d3gauge.js
}
}
Run Code Online (Sandbox Code Playgroud)
并在相应的模板文件中添加
<script src="../../../../js/d3gauge.js"></script>
Run Code Online (Sandbox Code Playgroud)
但它不起作用,drawGauge无法找到.
所以,
.ensure无法解决,因为无法解决.在阅读了webkitSpeechRecognition(Javascript中的语音识别)的文档后,我尝试在Angular 2中实现它.
但是当我这样做时:
const recognition = new webkitSpeechRecognition();
Run Code Online (Sandbox Code Playgroud)
TypeScript说这个错误:
[ts] Cannot find name 'webkitSpeechRecognition'. any
Run Code Online (Sandbox Code Playgroud)
如果我尝试从窗口中提取webkitSpeechRecognition:
if ('webkitSpeechRecognition' in window) {
console.log("Enters inside the condition"); // => It's printing
const { webkitSpeechRecognition } = window; // => TypeScript Error
const recognition = new webkitSpeechRecognition();
}
Run Code Online (Sandbox Code Playgroud)
如果我评论console.log打印的最后两行,请进入条件!webkitSpeechRecognition存在于窗口内!但是如果没有注释最后两行,那么TypeScript错误就是这样:
[ts] Type 'Window' has no property 'webkitSpeechRecognition' and no string index signature.
const webkitSpeechRecognition: any
Run Code Online (Sandbox Code Playgroud)
如何在Angular 2中创建新的识别?有人试过吗?
javascript voice-recognition webspeech-api typescript1.8 angular
通过创建如下界面,我能够在TypeScript中运行SpeechRecognition,并且工作正常:
namespace CORE{
export interface IWindow extends Window{
webkitSpeechRecognition: any;
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试对SpeechSynthesis使用相同的方式,但是在字段中,以下代码不起作用:
namespace CORE{
export interface IWindow extends Window{
SpeechSynthesisUtterance: any;
speechSynthesis: any;
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
SpeechRecognitionTypeScript的最佳实践,还是有更好的方法。
SpeechSynthesis在TypeScript中使用。供参考,以下是我的工作代码SpeechRecognition:
namespace CORE{
export interface IWindow extends Window{
webkitSpeechRecognition: any;
}
}
namespace CORE{
export class speakRecognation{
// spoken:string;
constructor(input:HTMLInputElement){
var audio = new Audio('/sounds/sound.mp3');
//Voice recognition
const {webkitSpeechRecognition}: IWindow = <IWindow>window;
const recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.interimResults = true;
input.addEventListener("click", function(){ …Run Code Online (Sandbox Code Playgroud)