从另一个函数内部调用ViewModel函数
KnockoutJS Calling ViewModel function from inside another function
我有以下ViewModel,其中我有几个函数。我正试图调用位于同一ViewModel中的另一个函数。
这是我的ViewModel:
var UploadFileListVewModel = function() {
var self = this;
里面有一个init函数:
//initialize view model
this.init = function () {
$.ajax({
url: '/Files/LastUploadedFiles',
type: 'POST',
cache: false,
data: {},
}).done(function (result) {
//doing stuff
});
}
稍后,我执行一个删除文件操作,一旦它完成,我想再次运行我的init函数
self.removeFile = function(item)
{
$('#fileModal').modal('hide'); //closing modal dialog
$.ajax({
//url: '@Url.Action("RemoveFile", "Files")',
url: '/Files/RemoveFile',
type: 'POST',
data: { 'file_id': self.fileToRemoveId() },
cache: false
}).done(function (result) {
//doing stuff
this.init();
});
}
我得到一个错误this.init() is not a function
.
我真的很感激如果有人能指出我正确的方向如何调用这个init()函数或建议任何解决方案。
回调函数中的this
关键字不是您的ViewModel。这就是为什么你创建了self
,所以你可以在事件,数组,回调函数等中使用它。
因此,您应该将代码更改为self.init()
。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- KnockoutJS - ViewModel (祖父 - 父 - 子)访问子元素中的父函数
- viewModel 使用挖空.js在原型上计算函数
- 将强类型的 ViewModel 值传递给 Javascript 函数
- Knockout:在绑定到ViewModel函数的渲染内容中创建链接的最佳方法
- 如何在bindingHandler内从ViewModel调用函数
- 访问ViewModel函数
- Knockout VIewModel触发foreach内部的函数
- 从另一个函数内部调用ViewModel函数
- 改变viewmodel函数的observablearray值
- 使用ViewModel构造函数击倒虚拟组合
- 从js函数在razor视图上填充viewmodel属性
- 从ViewModel外部调用Knockout函数