asp.net - AngularJS 在 MVC PartialView 中不起作用
问题描述
我有一个 Index.cshtml,我称之为 PartialView。我也使用 angularJS。我的问题是关于...
我的索引.cshtml
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div ng-app="testApp">
<div ng-controller="testCtrl">
<input type="text" ng-model="input"/>
<p>{{input}}</p>
<button type="button" onclick="callPv()">call partial</button>
</div>
<div id="divPv">
</div>
</div>
<script src="~/Scripts/angular.js"></script>
<script>
var callPv = function() {
$("#divPv").load("Home/TestPV");
}
</script>
</body>
</html>
我的部分视图
<div>
<input type="text" ng-model="pv"/>
<p>{{pv}}</p>
</div>
我的 angular.js
var app = angular.module("testApp", []);
app.controller("testCtrl", function($scope) {
});
如果我使用@Html.Partial("TestPV")调用局部视图,则 angular 在局部视图中工作,但如果我通过 ajax 调用局部视图,则 angular 无法在局部视图中工作并看到{{pv}}。我经常遇到这个问题。我是角度的新手。感谢您的帮助。非常感谢您的回答!
解决方案
如果要在单击时调用角度函数,请使用 onclick angular.element.scope.apply(); 这将手动启动您的范围功能
angular.element('[ng-controller=testctrl]').scope().apply
推荐阅读
- python - 根据另一个数据框中的列有条件地格式化每列中的单元格
- c++ - 如何在 MSVC 中使用标准库头单元?
- ngrok - 如何修复 ngrok 无效的 HTTP 响应错误
- javascript - WebGL 有时会绘制纯色而不是绘制四边形
- javascript - 'this' 关键字在 Vue 组件中如何工作?
- typescript - 我们是否有可以在子类 TS 中设置为私有的抽象函数?
- r - 如何确定变量连续减少的第一行?
- go - bazel go_embed_data“无法嵌入”
- python - InvalidArgumentError: In[0] mismatch In[1] shape: 1 vs. 3: [22500,1] [3,1] 0 0 [Op:MatMul]
- javascript - Firestore collection.set 方法不起作用