Angular JS:点击按钮后如何在特定元素中加载Angular JS部分视图页面



点击按钮后,Angular js部分视图页面未加载。我已经加载了初始呈现页面,一旦我们点击按钮。部分视图页面将呈现,此时角度模块不会被触发,也不会返回正确的文本。如何实现这种场景?

Layout.cshtml

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - Application</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.8/angular.min.js"></script>
<script src="~/Scripts/app.js"></script>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
</head>
<body>
<div ng-app="myApp">
<div id="content"><button onclick="clicked()">Click Here</button></div>        
</div>
@RenderBody()
<script>
function clicked() {
$.ajax({
type: "GET",
url: "/Home/About",
data: null,
dataType: "html",
contentType: 'application/json; charset=utf-8',
success: function (data) {
$('#content').append(data);
},
error: function (ex) {
console.log(ex);
}
});
}
</script>
</body>
</html>

app.js

var myApp = angular.module('myApp', []);
myApp.controller('MyController', ['$scope', function ($scope) {
// Function to be called on page load
$scope.firstFunction = function ($scope) {
$scope.text = "GeeksForGeeks"
}
}]);

HomeController.cs

public PartialViewResult About()
{
ViewBag.Message = "Your application description page.";
return PartialView(@"~/Views/Home/About.cshtml");
}

局部视图页面:关于.cshtml

<div ng-controller="MyController">
<center ng-init="firstFunction(this)">
<h1 style="color: green;">{{text}}</h1>
</center>
</div>

注意:单击按钮时,需要显示GeeksForGeeks,此处{{text}}附加在UI元素中

尝试从ajax 中删除错误的数据和内容类型

$.ajax({
type: "GET",
url: "/Home/About",
success: function (data) {
$('#content').append(data); //or try $('#content').html(data);
},
error: function (ex) {
console.log(ex);
}
});

最新更新