У меня есть индексная страница, в которой я определяю два контроллера. Я хочу, чтобы один главный контроллер всегда (всегда должен быть визуализирован), а другой вызывается только для определенных вызовов URL-адресов. Должен ли я сделать одно вложенное в другое, или я могу держать их независимыми друг от друга? У меня нет доступа к маршрутам изменения или что-то еще, только к контроллеру. Прямо сейчас, когда я использую шаблон (HTML) упоминалось, он вызывает/делает оба контроллера, даже если URL это сказать/индексAngularjs - Вызов только одного из множества субконтроллеров/нескольких контроллеров
Only for /index/subPage, I want both controllers to be rendering.
/index
/index/subPage
HTML:
<div ng-controller="MainCtl" ng-init=initMain()>
<p> Within ctller2 {{results}} </p>
</div>
<div ng-controller="Ctller2"> <!-- should not be displayed unless /subPage/mainUrl is rendering -->
<p> Within ctller2 {{results}} </p>
</div>
JS:
app.controller('MainCtl', ['$scope', '$http', '$location', function ($scope, $http, $location) {
$http.get('xx/mainUrl').then(function(data) {
$scope.results = someDataJSON;
console.log(someDataJSON);
});
$scope.initMain = function() {
$scope.initMethods();
}
}]);
app.controller('Ctller2', ['$scope', '$http', '$location', function ($scope, $http, $location) {
// This controller gets initialized/rendered/called even when xx/mainUrl is called, and when xx/subPage/mainUrl is called too..
$http.get('xx/subPage/mainUrl').then(function(data) {
$scope.results = someDataJSON;
console.log(someDataJSON);
})
$http.get('xx/subPage').then(function(data) {
$scope.results = data.data;
console.log(data);
})
angular.element(document).ready(function() {
alert('Hello from SubCtl, moving over from main controller to here');
});
}]);
Что я делаю неправильно? Я новичок в Angular.js
спасибо, что работает пока. Вернусь к ui.router, как только я закончу, и могу позволить себе пересмотреть :) –