Articles of angular ui router

将UI路由器状态parsing为无Angular的URL

我有一个Angular 1.5.9 Web应用程序和一个Node.js / Sails.js 0.12后端。 在Angular里面运行UI路由器0.4来处理状态。 状态定义可能看起来像这样(相当香草,我会说): $stateProvider.state('dogs', { url: '/ourdogsarecute_{specialIDofDog} }). state('dogs.specialDogState', { url: '/specialinfo_{specialInfoOfDog}' }); 现在,出现以下情况: 在后端(即在Angular之外) ,我必须转换一个Angular UI路由器状态链接,例如{stateName: 'dogs.specialDogState', stateParams: {specialIDofDog: 11212, specialInfoOfDog: 'likesbones' } }转换为有效的url,例如https://www.our-app.dog/ourdogsarecute_11212/specialinfo_likesbones 。 我不知道如何做到这一点,没有大量的手动工作。 是否有一种用于UI路由器状态的parsing器作为节点模块? 我可以以某种方式访问​​后端状态定义所在的前端代码。 这不是问题。 问题是从状态链接到URL的转换。

ui路由器不能从nodejs文件夹工作,但在plunker上工作

UI路由器应该做一个index.html作为一个标题和test.html作为附加的看法,但它不能在我的电脑出于某种原因。 Plunker一个伟大的工作。 index.html与plunker相同 <html ng-app="MyApp"> <head> <link href="stylesheets/style.css" rel="stylesheet"> </head> <body> <h4> This should be the header </h4> <div ui-view></div> <script data-require="angular.js@*" data-semver="1.3.0-beta.5" src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script> <script data-require="ui-router@*" data-semver="0.2.10" src="https://rawgit.com/angular-ui/ui-router/0.2.10/release/angular-ui-router.js"></script> <script src="app.js"></script> <script src="controllers/main.js"></script> </body> </html> views / test.html只包含 <div> this is test.html </div> 和app.js包含 angular.module('MyApp', [ 'ui.router' ]) .config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/'); $stateProvider .state('main', { url: […]

如何从服务器(node.js)检索MongoDB数据到我的AngularJS路由

这是我的Server.js文件(NodeJS): var express = require('express'); var server= require('http'); var path= require("path"); var bodyParser = require('body-parser'); var mongoose = require('mongoose'); var app= express(); var staticDIR = path.resolve(__dirname, "./www");“ app.use(express.static(staticDIR)); app.use(bodyParser.json()); app.get("*", function (req, res) { var indexViewPath = path.resolve(__dirname, "./www/index.html"); res.sendFile(indexViewPath); }); var dbURI = 'mongodb://localhost:27017/mydatabase'; mongoose.connect(dbURI); mongoose.connection.on('connected', function () { console.log('Mongoose connected to ' + […]

如何安装angular-ui-router.js文件,而不是从npm完整的源代码解决scheme?

当我从节点包pipe理器( npm )安装angular包时,我在angular根目录下得到了需要的JS文件。 $npm install angular 但是,当我安装angular-ui-router软件包时,我得到了完整的源代码解决scheme,并且需要位于release目录下的JS文件。 $npm install angular-ui-router 有没有办法从npm安装所需的JS文件,而不是整个源代码解决scheme?

Meanjs:发生器错误:未知提供者:MenusProvider < – 菜单

我使用下面的命令创build了新的模块 $ yo meanjs:crud-module <module-name> 但在创build模块后,我得到下面的错误,我的意思是应用程序不运行,除了显示控制台错误的白页 rror: [$injector:unpr] Unknown provider: MenusProvider <- Menus http://errors.angularjs.org/1.5.3/$injector/unpr?p0=MenusProvider%20%3C-%20Menus return new ErrorConstructor(message); 我正在使用以下版本的发电机 — generator-meanjs@0.4.4 任何人都可以打电话给我什么是错误的。 我的模块名称是客户

快速路由:如何在静态文件上返回404错误,并为angular色UI路由器维护HTML5Mode

我有一个AngularJS网页使用ui路由器在HTML5Mode路由,这意味着URL不必有“index.html#”既不是“#”。 为了达到这个目的,我将自己的expressconfiguration为ui-router wiki : app.use('/app', express.static(__dirname + '/../web/app')); app.use('/css', express.static(__dirname + '/../web/css')); app.use('/img', express.static(__dirname + '/../web/img')); app.use('/libs', express.static(__dirname + '/../web/libs')); app.use('/views', express.static(__dirname + '/../web/views')); app.all('/*', function(req, res, next) { res.sendFile(path.resolve(__dirname + '/../web/index.html')); }); 重要的部分是最后一行,所有调用不匹配app / css / img … return index.html 它的工作原理,问题来了,因为我有另一个规则返回公共文件: // Return file app.use('/file', express.static(__dirname + "/../public/", options)); 在angular度的应用程序中,我使用$ http来获取公共文件(文件名是URL上的一个参数),如果文件存在,我使用它: var fileUrl = […]

AngularJS,ocLazyLoad和ui-router:如何在主app.js类没有集中“状态”的情况下按需加载

我在ui-router和ocLazyLoad上很新,可能这个问题可能很容易解决,但是我写在这里是因为我没有在博客上search。 我的应用程序现在正在运行ocLazyLoad。 这是我的主要app.js类的configuration: angular.module('me', [ 'ui.router', 'oc.lazyLoad', 'me.partials.footer', 'me.partials.header' ]) .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) { $urlRouterProvider.otherwise('/ini') $stateProvider .state('ini', { // Login url: '/ini', templateUrl: 'views/ini/ini.html' }) .state('signin', { url: '/signin', templateUrl: 'views/signin/signin.html' }) .state('home', { url: '/home', templateUrl: 'views/home/home.html', resolve: { home: function($ocLazyLoad) { return $ocLazyLoad.load( { name: "views.home", files: [ "views/home/home.js", ] } […]

如何将parameter passing给MEAN.js包的express.js服务器端路由。

我是一个初学者,在一个由mean.js构build的项目上工作。 我仍然试图弄清楚整个项目结构是如何工作的,而且我有点卡住了。 目前,我有两个crud模块。 一个项目模块和一个应用程序模块。 用户应该能够应用于项目。 在某个项目下,我应该可以查看所有的应用程序,然后接受/拒绝它们。 我在angular度$资源上添加了一个自定义方法 function ProjectApplicationsService($resource) { return $resource('api/projects/:projectId/applications', { projectId: '@_id' }, { accept: { method: 'PUT' }, reject: { method: 'PUT' } }); } 一旦我点击某个应用程序对应的button,就会触发该函数,并将应用程序ID作为参数传入。 function acceptApp(applicationID){ vm.application._id = vm.project._id; vm.application.app_id = applicationID; vm.application.$accept(successCallback, errorCallback); function successCallback(res) { console.log("success"); } function errorCallback(res) { vm.error = res.data.message; console.log(vm.error); } } 这应该使一个API调用来expression,这里是路由 […]

不知道如何使用meanjs限制路线

我是相当新的平均堆栈…目前我正在build设的应用程序,我用meanjs和yeoman脚手架出来。 我想要用户,我希望pipe理员pipe理这些用户(创build/删除用户,添加其他pipe理员)。 meanjs构build的方式是: roles: { type: [{ type: String, enum: ['user', 'admin'] }], default: ['user'] 我在数组中添加了“admin”。 这是处理这个问题的好方法还是有更安全的方法? 我面临的主要问题是我无法弄清楚如何确保只有pipe理员的某些路线。 我知道这可以做angular度和快递/节点,但我不知道如何实现。 我已经使用Googlesearch了3天,并且遇到了从头开始构build的人(看起来没有像我当前的代码或文件夹结构),或者没有执行任何types的路由限制/授权/身份validation。 我也看了一下这个文档,根本没有帮助。 任何build议,帮助,学习的地方将不胜感激。

有angular的ui路由器没有注入到控制器的决心

我刚刚开始使用Angular和Express,面临艰难的时刻。 我来自Java背景,想学习Angular和Express,因此试图构build一个小应用程序。 我正在尝试做的 :我已经给用户一个密码重置链接,以便改变他的密码。 链接是这样的: 本地主机:9000 / RESET /:令牌 现在,我创build了一个简单的视图,其中显示了一个input框,如果令牌有效,则更改其密码,否则基于ng-show angular属性显示令牌无效时显示错误。 问题 :在我可以渲染我上面创build的视图之前,我想让ui-router检查:token是否有效。 我将在我的控制器中使用令牌的有效性信息来控制上面提到的ng-show属性。 读完这个之后,我试图利用$ stateProvider.statefunction进行parsing,以获得令牌validation的响应作为先决条件。 这将帮助我渲染实际的视图,我正在使用ng-show技术来显示错误消息或input框来更改基于ui-routerparsingpromiseObject的密码。 现在是什么问题? 那么,在我头脑太久之后,我决定在这里发表我的问题。 任何人都可以帮我吗? 我的问题: 1.我能够从api调用中获取数据/错误,但不知何故,ui-router并没有将其注入到控制器中。 谁能告诉我,我在这里做错了什么? 2.现在,如果令牌无效,我将从后端api返回404响应。 但前端的工厂方法把它作为err(这是在Node.js中预期?)和err被抛出导致deferred.reject()。 现在,如果我使用ui路由器定义,如果承诺没有解决,那么视图将不会被渲染,对吗? 有什么办法可以将这个错误也传递给我的控制器? 我要求通过err的原因是,我的视图的ng显示逻辑是基于响应代码(4xx / 2xx),这取决于我将显示错误消息还是input框。 代码片段: 调用其余api的工厂方法: isPasswordResetTokenValid: function(token, callback) { var cb = callback || angular.noop; var deferred = $q.defer(); return User.getUserByPasswordResetToken(token, function(data) { deferred.resolve(data); return cb(data); }, function(err) […]