离子不会更改视图/状态,除非它是一个选项卡

Ionic not changing views/state unless it is a tab

本文关键字:选项 一个 视图 状态      更新时间:2023-09-26

我的Ionic应用程序中有一个标签栏系统。但是,我希望有一些视图不是标签栏的一部分,而只是一个单独的页面,可以通过按钮打开。出于某种原因,只要页面不是选项卡,它就不会打开视图。我可以看到 URL 更改,但它不会更改为该视图,除非该视图也是一个选项卡。希望这是有道理的。我最初尝试使用 Href 切换页面,但后来决定在 href 不起作用时尝试 ng-click。这是我下面的代码..

我在哪里定义了状态:

       .state('tab.friendsadd', {
        url: "/friendsadd",
         templateUrl: "templates/friends-add.html"
})

这是我拥有的可以调用该函数的按钮:

            <button class="button button-clear button-assertive" ng-       click="changeview()">New Group</button>

然后这是我的 changeview() 函数,我知道它被正确调用,因为该语句是打印的:

  $scope.changeview = function() {
  console.log("hey why isnt this working");
  $state.go("tab.friendsadd"); //change state
}

不确定这是否可能是问题所在,但这是我尝试打开的新视图的模板:

<script id="templates/friends-add.html" type="text/ng-template">
      <ion-view view-title="Sign-In">
        <ion-content>
          <p> Header </p>
    <p> Tom brady </p>
        </ion-content>
      </ion-view>
    </script> 

感谢您的任何帮助。我希望这是一个简单的解决方案...

试试

.state('friendsadd', {
        url: "/friendsadd",
        templateUrl: "templates/friends-add.html"
})

这在 HTML 中

<button class="button button-clear button-assertive" href="#/friendsadd" ui-sref="friendsadd">New Group</button>

如果您的模板是实际文件,则不需要<script></script>标签

如果这不能解决它,或者即使它能解决,请向路由添加一些调试https://stackoverflow.com/a/28750792/4050230

希望这有帮助..