我们可以在angularjs应用程序中使用event.preventDefault()吗?

时间:2017-04-07 11:10:23

标签: angularjs ionic-framework

在我的离子应用程序中,每当页面加载登录页面时页面加载,它就会进入个人资料页面。我认为如果这样可行,我可以在配置文件控制器中使用它,这样每次我都能看到当前正在刷新的页面。

任何人都可以帮助我实现这个目标吗?

再次当我使用$state.go("app.profile")$state.go("app.signup")导航到每个页面时,每次将login.html加载为启动画面&之后它会导航到所请求的页面。

我的要求是,如果我刷新配置文件页面或注册页面,它应该只重新加载当前页面而不是登录页面。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:1)

你只需要将事件传递给函数并从那里处理它,它是干净且最好的方式:

在您的视图中(html):

<button (click)="clicked($event)">click</button>

并在您的Javascript(Typescript)中:

clicked(e) {
  e.preventDefault();
  //then do whatever you should do here
}

答案 1 :(得分:1)

全部谢谢,

我的问题解决了。我在我的应用程序中做了两处更改。 根据需要使用preventDefault()。 我将$ stateProvider更改为$ routeProvider。 在app.config里面我把下面的代码

  $routeProvider
         .when("/app", {
            // controller: AppCtrl,
        templateUrl: 'templates/menu.html'
    })       .when("/signup", {
        //   controller: SignupCtrl,
        templateUrl: 'templates/signup.html'
    })       .when("/profile", {
       //  controller: ProfileCtrl,
        templateUrl: 'templates/profile.html'
    });

答案 2 :(得分:0)

您只需在事件处理程序

中返回false即可
(click)="onClick($event);false"

(click)="onClick($event)"
onClick(event) {
  event.preventDefault();
  // or
  return false;
}