首页 > 解决方案 > 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}}。我经常遇到这个问题。我是角度的新手。感谢您的帮助。非常感谢您的回答!

标签: asp.netangularjsmodel-view-controllerpartial-views

解决方案


如果要在单击时调用角度函数,请使用 onclick angular.element.scope.apply(); 这将手动启动您的范围功能

angular.element('[ng-controller=testctrl]').scope().apply


推荐阅读