Angularjs 不适用于 Jquery 加载功能

Posted

技术标签:

【中文标题】Angularjs 不适用于 Jquery 加载功能【英文标题】:Angularjs Does not work with Jquery load function 【发布时间】:2017-10-31 20:07:03 【问题描述】:

我正在使用 ASP.Net MVC5 和 AngularJS 1.5 创建一个 Web 应用程序,我有一个页面是从 MVC ActionResult 显示数据,并使用 AngularJS 执行进一步的编辑和删除操作。

但是当我执行编辑操作时,从 ASP.net MVC 控制器调用一个 jsonresult 并执行具有成功结果的完美编辑操作,但我还想刷新从 MVC ActionResult 显示的数据,所以我创建了一个局部视图并使用Jquery 加载函数并传递 URL(MVC ActionResult Url)。

加载函数使用数据库中的当前更改刷新数据,但之后 AngularJS 不起作用,即使 AngularJS Expressions 不起作用

$http.post('myactionName',param:param).success(function (data)
  $('#DiV').load("mypartialActionName");
<div id="DiV">
    @html.Partial("_PartialViewName")
</div>

【问题讨论】:

ng-view 应该告诉你一些事情 将其用作“body”标签中的属性指令 我也创建了自己的指令,但它不起作用我面临同样的问题, @madalinivascu 我是这项技术的新手,可以帮助我提供任何教程或链接 @MukeshGupta 有一个新人来学习新技术的禁地docs.angularjs.org 【参考方案1】:

首先添加您的 jQuery 和 Angular 文件,然后创建“应用”模块

HTML

<body configs>
<div id="DiV"> @Html.Partial("_PartialViewName") </div>
</body>

指令

app.directive("configs", function($http)
return 
     link: function()
        $http.post('myactionName',param:param).success(function (data)
             $('#DiV').load("mypartialActionName"); 
         
     

);

【讨论】:

我对此进行了分层,但我得到了相同的结果,我的部分视图得到了更新,但我的 angularjs ng-click 第二次不起作用,事实上不仅 ng-click 甚至表达式值都没有显示,但是当我刷新页面 ng-click 开始工作,然后我再次编辑内容,记录得到更新,但再次单击停止工作,我需要手动按 f5【参考方案2】:

首先我想说的是,如果你完全使用 AngularJs,那么不要使用 @Html.Partial()..使用 ng-include 内置指令而不是注入外部模板。现在你完全依赖在 MVC 上这是不好的做法..您必须将 MVC 仅用于服务器端而不是前端部分,并且 AngularJs 异步使用 $http 您无需刷新即可检索数据并且不要依赖 JQUERY..AngularJs可以处理 JQUERY 所做的所有事情..

【讨论】:

以上是关于Angularjs 不适用于 Jquery 加载功能的主要内容,如果未能解决你的问题,请参考以下文章

带有 angularjs 的数据表不适用于 Columns 和 dtOptions

getCurrentPosition 不适用于 angularjs

具有angularjs的数据表不适用于Columns和dtOptions

AngularJS 不适用于 MVC 局部视图

jQuery 加载不适用于某些 .txt 文件

Jquery 选择器不适用于动态 .get 加载的内容