gpt4 book ai didi

ajax - 在 AJAX 加载 ngApp 后加载 ngController

转载 作者:行者123 更新时间:2023-12-01 00:35:37 26 4
gpt4 key购买 nike

假设我有一个简单的 html 文件,其中加载了 Angular.jsJQuery

<body ng-app="myApp">
<div id="#subPage"></div>
<button type="button" onclick="loadSubPage()" />
</body>
<script>
var myModule = Angular.module('myApp',[]);
function onclick() {
$.get('somewhere/aPage.html', function (d,s,j) {
$("#subPage").html(d);
});
}
</script>

我的 somewhere/aPage.html 是这样的:

<div ng-controller="blahCtrl">
<span>{{message}}</span>
</div>
<script>
myModule.controller('blahCtrl', function($scope) {
console.log('This Is Not Printed Even!!!');
$scope.message = 'The blah!';
});
</script>

如您所见,我想在点击按钮后加载我的子页面,没关系!但似乎 Controller 没有运行。因为该消息未在控制台中打印。

有什么问题?为什么这根本不起作用?我做错了什么?

最佳答案

您正在添加 angular 不知道的 html 代码。您需要在外部更改 DOM 元素后运行编译,请参阅 $compile .你的代码应该是这样的(这是伪造的 - 你需要注入(inject) $compile 并有一个范围):

<script>
var myModule = Angular.module('myApp',[]);
function onclick() {
$.get('somewhere/aPage.html', function (d,s,j) {
$("#subPage").html(d);
$compile($("#subPage"))(scope);
});
}

关于ajax - 在 AJAX 加载 ngApp 后加载 ngController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33195110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com