gpt4 book ai didi

javascript - ng-click 使用参数更改 angularjs 中的路由

转载 作者:行者123 更新时间:2023-11-30 12:34:30 24 4
gpt4 key购买 nike

我想更改使用 ionic 框架构建的 angularjs 应用程序的路由,但路由没有改变

这是我的app.js

代码
angular.module('starter', ['ionic', 'starter.controllers'])
.state('app.annuaire.menuitempage', {
url: "/menuitempage/:ID",
views: {
'menuContent' :{
templateUrl: "templates/menuItemPage.html",
controller: function($stateParams){
$stateParams.ID ;
}
}
}
})

.state('app.annuaire', {
url: "/annuaire",
views: {
'menuContent' :{
templateUrl: "templates/annuaire.html",
controller: 'MenuItemCtrl'
}
}
})

这是我 Controller 的代码

  angular.module('starter.controllers', [])
.controller('MenuItemCtrl', function($scope, $http, $location) {
$scope.itemsMenu = {};

var responsePromise = $http.get("http://monguidepratique.com/mobile/getCategories.php?parent_id=0");

responsePromise.success(function(data, status, headers, config) {
//alert(data);
$scope.itemsMenu = data;
});
responsePromise.error(function(data, status, headers, config) {
alert("AJAX failed!");
});
$scope.itemClick = function(path){
alert(1);
$location.path(path);

};

})

这是我在 annuaire.html 中的 html 代码

 <div class="col"  ng-click="itemClick('/menuitempage/1628')"><img class="img_menu" src="img/home.png"><p class="titre_center">Accueil</p></div>

最佳答案

尝试

$location.path(path)

代替

$state.go(path)

您需要将 $location 服务注入(inject)您的 Controller 。

编辑

如果您正在使用 $state.go - 您应该按照以下方式使用它:

$scope.itemClick = function(id){
$state.go('app.annuaire.menuitempage', {'ID': id})
};

和 HTML:

<div class="col"  ng-click="itemClick(1628)"><img class="img_menu" src="img/home.png"><p class="titre_center">Accueil</p></div>

第一个参数是状态名称,而不是 URL,第二个是带有您的参数的对象。

关于javascript - ng-click 使用参数更改 angularjs 中的路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26532978/

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