gpt4 book ai didi

javascript - 从函数内更改 ngview

转载 作者:行者123 更新时间:2023-11-27 23:10:20 26 4
gpt4 key购买 nike

我正在使用模板来构建我的应用程序。基本上只有一个主页,然后我使用 ng-view 通过它加载其他页面。 index.html 中的 href 链接工作正常。但我也希望能够在 js 函数中更改 ng-view。这是怎么做到的?

我尝试使用 $location.path 转到红色页面,但除了打印到控制台之外似乎没有任何反应。在此之前,我尝试使用 $window.location.href(),它确实转到了页面,但丢弃了 index.html 容器,破坏了应用程序。

编辑:正如 Siddhesh 的回答评论中所指出的,如果不与 $locationProvider.html5Mode(true); 一起使用,它会起作用。但我想保持干净的网址。所以我正在寻找一种方法来保留它,如果可能的话。

index.html

<head>
<base href="/testing/onetest/">
<script>
app.controller('masterController',function($location){
setTimeout(change, 3000);
function change() {
console.log("changing in 3 seconds");
$location.path('/red');
}
});
</script>
</head>

<body ng-app="app" ng-controller="masterController">

<a href="/testing/onetest/">Main</a>
<a href="red">Red</a>
<a href="green">Green</a><br>


<div ng-view></div>

</body>

应用程序.js

var app = angular.module("app", ["ngRoute"]);
app.config(function($routeProvider,$locationProvider) {
$routeProvider
.when("/", {
templateUrl : "home.html",
controller : 'mainController'
})
.when("/red", {
templateUrl : "red.html"
})
.when("/green", {
templateUrl : "green.html"
});

$locationProvider.html5Mode(true);
});

最佳答案

对于低于1.6的angular js版本

$window.location.href= '#red';

对于 angular js 1.6 或更高版本

$window.location.href= '#!red';

试试这个,看看它是否有效。这可能会帮助您更改 ng-view from 函数。它对我有用。

关于javascript - 从函数内更改 ngview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46395446/

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