AngularJS - 如何从控制器内部更改状态

2024-01-10

我是 AngularJS 的新手,想知道如何从控制器内更改状态。

例如,我通常会在单击按钮时更改状态:

<input type="submit" class="btn btn-lg btn-primary btn-block" value="Log In" ui-sref="main.navigation"/>

因此,在“提交”按钮上,我的页面将更改为导航页面。这工作正常,但是如果我想先在控制器中执行一些逻辑,然后根据结果,我想更改到特定页面,该怎么办?如何从控制器内部而不是单击按钮来执行此操作。

如果您好奇的话,这是我的modules.js:

angular.module('ecsMain', [
    'ui.router',
    'ui.bootstrap',
    'ngTable'
])
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
    $urlRouterProvider.otherwise('main/login');

    $stateProvider
        .state('main', {
            abstract: true,
            url: '',
            templateUrl: 'view/main.html'
        })
        .state('main.login', {
            url: '',
            controller: ECSMainController,
            templateUrl: 'view/login.html'
        })
        .state('main.phoneCalls', {
            url: '',
            controller: AccordionDemoCtrl,
            templateUrl: 'view/phoneCalls.html'
        })
        .state('main.navigation', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/navigation.html'
        })
        .state('main.myModalContent', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/myModalContent.html'
        })
        .state('main.alertMessage', {
            url: '',
            controller: ModalDemoCtrl,
            templateUrl: 'view/alertMessage.html'
        })
}]);

Thanks


inject $state服务到您的控制器,然后在您的控制器中......

控制器

$scope.changeState = function () {
    $state.go('where.ever.you.want.to.go', {stateParamKey: exampleParam});
};

and add ng-click到你的按钮

HTML

<button ng-click="changeState()">Change State</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularJS - 如何从控制器内部更改状态 的相关文章

  • Angular ui-router:链接不可点击

    我尝试运行 angular ui router 来处理我的视图 但我遇到了问题 以下视图的两个链接不可点击 带有链接标签的角度更改变量 但我无法单击 我有这样的观点 h1 App h1
  • AngularJS/Bootstrap 推荐的日期选择器是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 使用 Angular Bootstrap 时 有多种添加日期选择器控件的选择 有 更好 的吗 这是我发现的 HTML 5 日期输入类型 不同浏览
  • 在 Restangular 中发送 GET 参数

    我在用着矩形 https github com mgonto restangular在我的项目和早期的项目中 这段代码对于检索对象数组效果很好 var params name Stack surname Overflow var servi
  • AngularJS 过滤器精确匹配

    我需要按类别过滤项目列表 我希望用户能够单击按钮 然后将过滤器应用于列表 目前 我已经在一定程度上做到了这一点 比方说 我有一个电影列表 呈现如下 li movie title li 我还有一个电影类型列表 呈现为按钮 单击时将过滤电影列表
  • 如何在 Angular JS 中显示以字节数组形式接收的图像

    我有一个将返回图像的服务器端应用程序 这些是响应标头 Content Disposition attachment filename 8822a009 944e 43f4 999b d297198d302a 1 0 low res Cont
  • Angularjs 中字母数字的正则表达式

    我想要 angularJS 中字母数字字符的正则表达式 我尝试了一些正则表达式 例如 d a z 但它们允许我仅输入数字和字母 但我想要一个不允许我输入它们的正则表达式 例子 121232 abchfe abd 42232 5 是一些例子i
  • triggerHandler 导致错误:[$rootScope:inprog] $apply 已进行中错误 - AngularJS

    我试图在按下某个键时触发按钮的单击 我正在使用triggerHandler函数 但这导致了上述错误 我想我一定创建了某种循环引用 循环 但我看不到在哪里 这是我的 HTML
  • 在函数调用之间保存数据的Pythonic方式是什么?

    对我来说 上下文是我需要在调用修改该值的函数之间保留的单个 int 的信息 我可以使用全局 但我知道这是不鼓励的 现在 我使用了包含 int 的列表形式的默认参数 并利用了可变性 以便在调用之间保留对值的更改 如下所示 def increm
  • Angularjs 在生产中禁用调试数据

    我正在尝试按照角度文档中的建议禁用生产服务器中的调试数据here https docs angularjs org guide production 补充一点 我并没有真正看到性能和加载时间有任何改进 这是我的代码在 app js 中的样子
  • 将 Angular Material 与 Twitter Bootstrap 相结合,不会发生冲突

    我想将 Twitter Bootstrap 与 Angular 材料结合起来 我发现引导材料设计https github com FezVrasta bootstrap material design https github com Fe
  • 角度模拟“模块”导致“[对象对象]不是函数”

    我正在尝试使用通过 Teaspoon 运行的 Jasmine 在 Angular 中创建一些单元测试 测试正在运行 但是我有一个简单的测试只是为了测试失败的控制器是否存在 我有以下测试设置 require spec helper requi
  • 如何将除 Web API 之外的所有内容路由到 /index.html

    我一直在研究一个AngularJS项目 在 ASP NET MVC 内部使用 Web API 除非您尝试直接访问有角度的路由 URL 或刷新页面 否则它效果很好 我认为这将是我可以处理的事情 而不是胡闹服务器配置MVC的路由引擎 当前的We
  • Angular 2 变更检测是如何工作的?

    在 Angular 1 中 更改检测是通过对 scope 层次结构进行脏检查来进行的 我们会在模板 控制器或组件中隐式或显式创建观察者 在 Angular 2 中 我们不再有 scope 但我们确实重写了 setInterval setTi
  • 是否可以动态导入模块?

    我有很多角度组件的导入 看起来我可以编写一个函数来简化导入 我只是不知道怎么做 但这应该很简单 进口样本 import DashboardComponent from app components dashboard dashboard c
  • 在 angularjs 中的某些字段上设置条件焦点[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 您好 所有工程师同事 我看到了很多问题 并提出了关于将焦点设置在某些输入字段上的答案 但我没有找到任何可以满足我的要求的
  • AngularJS 服务并承诺最佳实践

    我有一个 AngularJS 应用程序services 调用 http资源并返回promise我在控制器中解决了这个问题 这是我正在做的事情的示例 app service Blog function http q var deferred
  • ViewPager 的 Android Viewholder

    您好 我正在使用 ViewPager 但我现在想保留状态 而不是重新生成单元格 我注意到 viewpager 与 listviews 的自定义适配器非常相似 它们的功能类似 listview 在单元格不再出现在屏幕上后重新生成单元格中的数据
  • 角度指令忽略非数字输入

    我必须为 IE8 编写一些代码 我有一个 ng repeat 创建一个表 其中包含
  • 具有 Angular 前端的简单 Django Rest Framework 应用程序会发生什么?

    我学习 Django 一段时间了 我发现这张图片很有帮助 我现在正在深入研究 Angular JS 我试图弄清楚每个组件 指令 控制器和服务 如何交互以及是否存在类似的 循环 这blog http kirkbushell me when t
  • Grails Asset-pipeline 不加载角度部分模板

    我将 angular ui bootstrap 与 Grails 2 3 x asset pipeline 1 6 1 插件一起使用 其中一个组件 alert js 正在尝试加载 template alert alert html 但这会解

随机推荐