我正在使用angularjs指令重定向另一个html page.i我在指令中编写了click函数,但我在警告框中获取页面名称而不是重定向到另一个html页面。
sample.html:
<test1>
<button data-ng-click="click('/page.html')">Click</button>
</test1>
sample.js:
app.directive('test1',['$location', function(location) {
function compile(scope, element, attributes,$location) {
return{
post:function(scope, element, iAttrs,$location) {
scope.click=function(path)
{
alert("click"+path);
$location.path('/path');
};
}
};
}
return({
compile: compile,
restrict: 'AE',
});
}]);
我想重定向page.html如何做到这一点请建议我。 感谢。
答案 0 :(得分:22)
在html中,
<button ng-click="redirect()">Click</button>
在JS中,
$scope.redirect = function(){
window.location = "#/page.html";
}
希望它有所帮助.....
答案 1 :(得分:8)
可能会进行一些小修改。
注入$ location并使用:
$scope.redirect = function(){
$location.url('/page.html');
}
在文档中可以找到使用$ location over window.location的好处,但这里是(1.4.x)的摘要
https://docs.angularjs.org/guide/ $位置
如果有人知道如何以更干净的方式直接从html进行此重定向,请告诉我,因为我希望有时候在控制器中创建一个函数...
答案 2 :(得分:1)
我已经使用AngularJS中的以下代码成功导航PAGE。
$scope.click = function ()
{
window.location = "/Home/Index/";
}
答案 3 :(得分:1)
如果您使用材质设计按钮'md-button',您可以这样做。
我尝试过赋予属性href,分配了链接路径。重定向效果很好。
如果它只是重定向,并且在重定向之前没有其他任务要完成,可以尝试这样做。
<test1>
<md-button href="/page.html">Click</md-button>
</test1>