如何使用angularjs中的按钮单击事件将一个html页面重定向到另一个html页面

时间:2014-07-21 04:35:25

标签: angularjs angularjs-directive

我正在使用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如何做到这一点请建议我。 感谢。

4 个答案:

答案 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/ $位置

enter image description here

如果有人知道如何以更干净的方式直接从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>