为了账号安全,请及时绑定邮箱和手机立即绑定

请问html+typescript的时候html中函数未定义怎么办

请问html+typescript的时候html中函数未定义怎么办

慕丝7291255 2019-07-09 05:04:46
用的angular框架是html+typescript,在html中对于一个点击按钮onclick的函数,想仿html+js的方法,可是报错函数未定义,请问是怎么回事 
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

采用双向绑定的方式

HTML中:

1<input  type="text" [(ngModel)]="userName">

ts中,定义全局变量userName:

userName:any;

当在input中输入之后,ts中的值会相应的进行变化。直接读取userName中的值就是input中的输入内容。

typescript讲求去DOM化,不用像javascript一样获取元素后在取值


查看完整回答
反对 回复 2019-07-10
?
慕森王

TA贡献1777条经验 获得超3个赞

TypeScript 有两种模块化方式,一种是使用 ES6 的 import/export 及其 TS 对这种语法的微小扩展;另一种方式是使用 TS 特有的 namespace (命名空间)。在分析这两种模块化方式之前,我先推荐使用第一种方式,因为第二种方式涉及到模块引用顺序的问题(可以通过 /// <reference path="..." /> 来解决,但感觉不如 import 爽。
如果使用 namespace 方式的模块化,那么所有东西都是全局的,内部引用直接使用即可,TS 能识别出同一命名空间下export 的内容;外部引用导入即可;全局使用(比如在页面上的 <script> 内,把命名空间写完整就好(仅仍然只能使用export 的内容。
如果使用 ES6 模块方式的模块化,目前最好的方式可能就是挂到 window 上了,如果是在 Node 下,就需要挂到 global上。如果要兼容,就得写点代码来判断全局对象。一般来说,用 TypeScript 写代码,就已经决定了要模块化,除非很少的时候需要在页面的 <script> 中调用脚本中的某些对象,这种情况往 window 上挂就行。如果是要做为库来发布,tsc 是可以编译生成 .d.ts 文件的,如果是引用 js,那就不存在静态类型检查的问题;如果是引用 ts,那就以模块化的方式引用;如果想以全局的方式引用 ts,那就在在全局对象上挂一个入口对象,然后在文档里说明,使用前自己申明这个对象(不需要提供 .d.ts),也就几行代码的事情,也不算麻烦。比如

declare global {
interface Window {
myEntry: EntryClass;
}
}

查看完整回答
反对 回复 2019-07-10
  • 3 回答
  • 0 关注
  • 1669 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信