Javascript 敲除绑定处理程序-未定义的bindingContext.$IE9上的数据

Javascript 敲除绑定处理程序-未定义的bindingContext.$IE9上的数据,javascript,jquery,knockout.js,knockout-3.0,Javascript,Jquery,Knockout.js,Knockout 3.0,我正在尝试创建一个自定义绑定处理程序,以便对页面上的字段应用基于角色的访问。 在自定义处理程序中,它将检查来自viewModel的其他观察值,并根据条件启用或禁用输入控制 但我无法通过bindingContext获取当前ViewModel。$parent、$root、$data或$rawData。 当我在IE上调试时,它只显示{…} 这个问题只发生在IE上,它在google crome上运行良好。 有人可以帮助我如何通过bindingContext获取当前的ViewModel吗。 var div

我正在尝试创建一个自定义绑定处理程序,以便对页面上的字段应用基于角色的访问。 在自定义处理程序中,它将检查来自viewModel的其他观察值,并根据条件启用或禁用输入控制

但我无法通过bindingContext获取当前ViewModel。$parent、$root、$data或$rawData。 当我在IE上调试时,它只显示{…}

这个问题只发生在IE上,它在google crome上运行良好。 有人可以帮助我如何通过bindingContext获取当前的ViewModel吗。
var divForm=document.getElementById('divForm');
函数AuditFormViewModel(){
self=这个;
self.Name=ko.observable(“Kiran”);
self.Email=ko.observable(“kiranparab0@gmail.com");
自我完成=可观察(真);
self.Send=ko.observable(假);
self.conditionArray=[
{Field:“Name”,条件:[{Property:“Complete”,Value:true},{Property:“Send”,Value:true}]},
{字段:“电子邮件”,条件:[{Property:“Complete”,值:false}]}
];
}
ko.bindingHandlers.hasAccess={
更新:函数(元素、valueAccessor、allBindings、viewModel、bindingContext){
var字段=valueAccessor();
var accessConditions=[];
accessConditions=bindingContext.$data.conditionArray;
var条件=accessConditions.filter(函数(cnd){
返回cnd。字段===字段
})[0]。条件;
var值=真;
对于(变量i=0;i

姓名:

电邮:
在我的代码中,我没有将self声明为var,
这只是换行而已。”var self=this'而不是self=this'

您只需修改小提琴,然后单击更新。您将获得一个新的JSFIDLE链接url,您需要在stackoverflow帖子中更新该url。JSFIDLE链接已更新,或者您甚至可以通过运行stackoverflow帖子中的代码片段进行检查。有人可以帮我吗?是否有解决此问题的方法?能否提供更多信息。当我在IE11和Chrome中测试它时,bindingContect对象是可用的。要获取数据,可以使用bindingContect.$data。当我测试它得到答案时,它在IE和Chrome中都可用。。这只是换行而已。”var self=此“替换为”self=此”