我继承了一个使用AngularJS和JQuery混合的项目。我目前遇到动态加载的md-switch
指令在动态加载时不显示的问题。请参阅以下内容:
在我看来,我有
...
<md-switch class="md-primary md-switch-custom-margin" aria-label="Done Switch" ng-model="done"
ng-change="markDone($event, @Newtonsoft.Json.JsonConvert.SerializeObject(!Model.Done))" />
...
在第一页加载时,此控件显示正常。但是,在按钮单击时,我会通过ajax检索md-switch
所在容器的新鲜局部视图,如下所示:
$.ajax({
url: "../../MyController/GetPartial",
type: "GET",
dataType: "html"
}).done(function (response) {
$("#body-container").html(response);
var angularScope = angular.element("div[ng-controller='MyAngularController'").scope();
//have tried both of the following
//angularScope.$apply();
})
当局部视图加载到页面中时,页面上的所有md-switch
都不可见,尽管它们确实出现在DOM上,并且看起来格式与发生任何操作之前的格式相同。 / p>
在审阅了很多帖子后,我仍然不确定我在这里失踪了什么。感谢所有帮助。
答案 0 :(得分:1)
我在jquery脚本中使用String args[];
找到了解决问题的方法,如下所示:
我的ajax请求的完成回调:
$compile
答案 1 :(得分:0)
md-switch指令/组件未链接且未编译,因此angular不识别它