Я новичок в AngularJS, и я пытаюсь использовать $ routeParams в своем коде, просматривая предыдущие ответы здесь, я убедился, что добавил «$ routeParams» как часть моей инъекции массива и функция как я, так и я не использую модуль ui-router. Тем не менее, я все еще не могу определить, когда я пытаюсь его зарегистрировать.
Мой Угловая App выглядит следующим образом:
var RAFITOAPP = RAFITOAPP || {}
RAFITOAPP.app = angular.module('app', [
'ngRoute'
]).config(['$routeProvider', function($routeProvider) {
$routeProvider.
when("/line/:userAccountId", {templateUrl: "assets/partials/line.html", controller: "LineController"}).
when("/floormap", {templateUrl: "assets/partials/floormap.html", controller: "MapController"}).
when("/report", {templateUrl: "assets/partials/reports.html", controller: "ReportController"}).
when("/addNew", {templateUrl: "assets/partials/add_new.html", controller: "addNewController"}).
when("/profile", {templateUrl: "assets/partials/account.html", controller: "accountSettingsController"}).
otherwise({redirectTo: '/line'});
}]);
Мой контроллер выглядит следующим образом:
RAFITOAPP.app.
controller('LineController', ['$scope','$rootScope','$routeParams', function($rootScope, $scope, $location, $routeParams) {
$scope.$on('$viewContentLoaded', function() {
console.log($routeParams);
change('line');
if(control != 1){
setTimeout(function() {
script1fire();
} , 100);
control = 1;
}
})
}]);
Пожалуйста посоветуйте на что мне не хватает? Любая помощь будет оценена очень сильно. Если вы хотите увидеть HTML-страницу, вызывающую проблему, это
Попробуйте этот контроллер ('LineController', [ '$ области действия', '$ rootScope', '$ местоположение', '$ routeParams' , функция ($ scope, $ rootScope, $ location, $ routeParams) {ваш код}); Также вместо $ scope.on попробуйте $ rootScope.on – Inventillect
вы уверены, что событие $ viewContentLoaded запущено? потому что вы прикрепляете его к $ scope вместо $ rootScope –
@Inventillect Я попробовал то, что вы предложили, и все еще то же самое – alyn000r