Typescript AngularJS访问表单对象
Typescript AngularJS access form object
我正在使用AngularJS和Typescript。
我在尝试访问表单对象时遇到问题。
以下是我的HTML
<form name="myForm" novalidate>
<label>First Name</label>
<input type="text" ng-model="frm.FirstName" name="FirstName" />
<button ng-click="logit()"></button>
</form>
现在我想访问frm对象,我的打字脚本代码如下
module TestCtrl{
interface ITestController{
logit(): any;
}
class TestController implements ITestController{
frm: any;
constructor() {
var vm = this;
var frm = {};
}
logit(){
var vm;
console.log(frm.FirstName);
}
}
angular.module('app').controller('TestCtrl', TestController);
}
控制台显示frm未定义。有什么想法吗?
它应该是这样的:
module TestCtrl{
interface ITestController{
logit(): void;
frm: any;
}
class TestController implements ITestController{
frm: any;
constructor() {
var vm = this;
vm.frm = {};
}
logit(){
console.log(this.frm.FirstName);
}
}
angular.module('app').controller('TestCtrl', TestController);
}
需要记住的是,var vm = this;
只是存储当前作用域的一种方式。打字脚本在这方面做得很好。因此,通常情况下,将vm
放入不会有什么不同
你也可以考虑把你的表格打出来。
interface IFormViewModel {
firstName: string;
lastName: string;
}
从而使您的ITestController
interface ITestController{
logit(): void;
frm: IFormViewModel;
}
class TestController implements ITestController{
frm: IFormViewModel;
constructor() {
this.frm = {};
}
logit(){
console.log(this.frm.firstName);
}
}
angular.module('app').controller('TestCtrl', TestController);
在AngularJS中,您可以使用$scope
变量访问控制器内部的模型。在你的情况下,它将是
$scope.frm = {};
console.log($scope.frm.FirstName);
相关文章:
- 如何在用户提交表单之前访问text_field的内容
- 如何从javascript访问表单数据
- 如何在 Angularjs 中访问表单值
- 如何根据单击访问相应对象的值
- 将表单对象保存到具有主干.js的模型
- 从表单到 Ajax 的动态对象访问
- 如何以角度访问表单元素的$valid
- 将microsoft访问表单转换为html
- 从JQuery到Javascript函数获取表单对象
- 访问表单控制AngularJS中的值,而不绑定数据
- 如何创建 XMLHttpRequest FormData 表单对象
- 从 JavaScript 中的表单视图访问复选框 asp.net
- JQuery 循环访问表单元素时出现问题
- 访问表单内的 DIV
- Typescript AngularJS访问表单对象
- 如何在不使用对象文字值的情况下从setter访问表单数据
- 我如何从jQuery .submit()事件对象访问表单POST数据
- Javascript:如何访问表单对象's字段
- 如何在 AngularJS 中访问不按其名称访问表单对象
- 如何在没有隔离作用域的angular指令中使用双向绑定访问表单对象