У меня есть ng-контроллер на странице _Layout, как это.
<div ng-controller="LayoutController">
left content....
@RenderBody
right content..
И используя угловой модуль в макете с ajax (эта часть работает)
<script type="text/javascript">
var module_ = angular.module("myapp", []);
var controller_ = module_.controller("layoutController", function ($scope) {
$.ajax({
type: "POST",
url: "Home/GetMenu",
success: function (result) {
$.each(result, function (i, ix) {
result[i].ID = i + 1;
});
$scope.TopCharactersModel = result;
$scope.$apply();
},
complete: function () {
}
})
Затем я хочу использовать другой Ng-Controller внутри Index.html, который получен из этой страницы макета. Javascript-код не работает на этой стороне, и хром-отладчик показывает эту ошибку. ПРЕДУПРЕЖДЕНИЕ. Пытался загружать углы более одного раза.
<div ng-controller="IndexController">
<div class="panel-group" id="accordion" ng-repeat="arr_ in newsArr">
</div>
</div>
<script>
var module = angular.module("myapp", []);
var myController1 = module_.controller("IndexController", function ($scope) {
$.ajax({
url: "Home/GetNews",
type: "POST",
success: function (result) {
$scope.newsArr = result;
// $scope.$digest();
$scope.$apply()
},
complete: function () {
}
});
});
</script>
Предполагая, что вы находитесь в одном приложении, и вы не создаете какое-то гибридное приложение с несколькими спа-салонами... вы фактически обновляете модуль: myapp. Если вам нужна ссылка на модуль myapp, удалите [] из angular.module("myapp", [])
;
Создание и поиск. Остерегайтесь того, что с помощью angular.module('myModule', []) создаст модуль myModule и перезапишет любой существующий модуль с именем myModule. Используйте метод angular.module('myModule') для извлечения существующего модуля.
Вставка из документации модуля.
Для второго контроллера попробуйте это.
<script>
var module = angular.module("myapp", []);
var myController1 = module.controller("IndexController", function ($scope) {
$.ajax({
url: "Home/GetNews",
type: "POST",
success: function (result) {
$scope.newsArr = result;
// $scope.$digest();
$scope.$apply()
},
complete: function () {
}
});
});
</script>
ng-app="myApp"
несколько раз?