我有一个输入字段:
Name: <input ng-model="query"
ng-change="vm.returnQuery(query)"
ng-model-options="{debounce: 1000}" />
我想将inputvalue返回到console.log
在我的打字稿类中,我有这个字段
_query: string;
这些获取/设置属性:
get query() {
return this._query
}
set query(value: string) {
this._query = value;
}
这个功能,
returnQuery(query) {
console.log('Query: ' + this._query + ' ' + query);
}
当我在输入中输入类似something
的值时,控制台日志会返回:
查询:未定义的内容
那么如何将模型中的值通过get / set传递给_query字段?
答案 0 :(得分:1)
很高兴看到更多代码,但是我们希望您的控制器(vm)定义如下:
export class myController
{
static $inject = ["$scope"];
constructor(protected $scope){
}
_query: string;
get query() {
return this._query
}
set query(value: string) {
this._query = value;
}
returnQuery(query) {
console.log('Query: ' + this._query + ' ' + query);
}
}
如果此控制器已分配给带有设置的指令
...
controller = myController;
controllerAs = "vm";
...
然后,元素片段的问题缺少 vm
// instead of this
<input ng-model="query"
ng-change="vm.returnQuery(query)"
ng-model-options="{debounce: 1000}" />
// bind this way
<input ng-model="vm.query"
ng-change="vm.returnQuery(vm.query)"
ng-model-options="{debounce: 1000}" />