我创建了一个包装jQuery元素的指令,该指令被绑定到一个包含一些回调函数的对象,如下所示:
vm.treeEvents = {
check_node: function(node, selected){
vm.form.$setDirty();
...
},
uncheck_node: function(node, selected){
vm.form.$setDirty();
...
}
};
在指令发布链接功能中我有:
if (scope.tree.treeEvents.hasOwnProperty(evt)) {
scope.tree.treeView.on(evt.indexOf('.') > 0 ? evt : evt + '.jstree', scope.tree.treeEvents[evt]);
}
因此,只要触发treeEvents
范围绑定中声明的事件,就会执行回调函数,然后将表单设置为dirty
状态。
当我这样做时,我注意到表单没有传递到脏状态,除非我滚动页面或点击表单中的某个元素。
我该如何解决这个问题?
答案 0 :(得分:0)
这是一个常见的<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="info"
internalLogFile="c:\temp\internal-nlog.txt">
<extensions>
<add assembly="NLog.Web.AspNetCore"/>
</extensions>
...
问题,因为你AngularJS
触发“在Angular的世界之外”,你应该让jQuery
通过调用{{Angular
来了解它1}}在事件处理程序内部。
更多信息,请阅读$scope.$apply文档。
答案 1 :(得分:0)
我使用scope.$evalAsync();