【问题标题】:how to show button on specific page/url如何在特定页面/网址上显示按钮
【发布时间】:2017-07-19 20:06:15
【问题描述】:

如何以角度显示特定网址的按钮?

 <button class="abc" ng-model="btn1">hide</button>

如果我想在特定页面上显示这个按钮怎么办?

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    我通常为此使用 ng-if 或 ng-show

     <button ng-if="showMe" class="abc" ng-model="btn1">hide</button>
    

    在你要设置的控制器或指令中

    $scope.showMe = true/false
    

    取决于哪个 url 允许显示此按钮。

    【讨论】:

      【解决方案2】:

      假设你使用的是 Angular 的默认路由器,你可以试试这个:

      查看:

      <button ng-if="showButton" class="abc" ng-model="btn1">hide</button>
      

      控制器:

      $scope.showbutton = $location.url()==='your/url';
      

      如果更适合您的需求,您也可以使用 $location.path()。我让你看看文档:https://docs.angularjs.org/api/ng/service/$location

      如果您使用的是 ui-router,您可以直接检查 HTML 中的状态。你可以看看这个答案的例子:https://stackoverflow.com/a/27578532/2660180

      【讨论】:

        【解决方案3】:

        使用 Angular $location 服务。它会解析浏览器地址栏中的 URL(基于 window.location)并使 URL 可用于您的应用程序。

        获取当前页面url的方法

        absUrl() : 它将返回完整的 URL

        示例:

        // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
        var absUrl = $location.absUrl();
        // => "http://example.com/#/some/path?foo=bar&baz=xoxo"
        

        path() : 不带任何参数调用时返回当前 URL 的路径。

        示例:

        // given URL http://example.com/#/some/path?foo=bar&baz=xoxo
        var path = $location.path();
        // => "/some/path"
        

        因此,您可以这样尝试:

        控制器:

        $scope.path = $location.path();
        

        HTML:

        <div ng-hide="path === '/pathname'">
            <button class="abc" ng-model="btn1">hide</button>
        </div>
        

        【讨论】:

          猜你喜欢
          • 2021-07-15
          • 1970-01-01
          • 1970-01-01
          • 2013-12-16
          • 1970-01-01
          • 1970-01-01
          • 2011-07-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多