我无法找到一个直截了当的答案,这让我相信它真的很简单.不管怎样,我走了.
我的$ routeProvider中的所有调用都很好,但是区分大小写.这是一个代码示例:
config(function ($routeProvider) {
$routeProvider.
when('/', { controller: 'TmpCtrl', templateUrl: '/app/home.html' }).
when('/foo', { controller: 'TmpCtrl', templateUrl: '/app/foo.html' }).
otherwise({ redirectTo: '/' });
});
Run Code Online (Sandbox Code Playgroud)
我需要添加什么以便'/ Foo','/ fOO','/ FoO'等都重定向到同一路径?
我的问题实际上与这里发现的问题非常相似:
简而言之,我正在使用$ routeChangeStart并尝试使用$ location更改当前路由.当我这样做时,控制台告诉我原始页面仍然加载并被新页面快速覆盖.
提供的解决方案是使用$ locationChangeStart而不是$ routeChangeStart,这应该可以防止额外的重定向.不幸的是,我在$ routeprovider中使用了我需要在更改路径时访问的其他数据(我用它来跟踪页面限制).这是一个例子......
$routeProvider.
when('/login', { controller: 'LoginCtrl', templateUrl: '/app/partial/login.html', access: false}).
when('/home', { controller: 'HomeCtrl', templateUrl: '/app/partial/home.html', access: true}).
otherwise({ redirectTo: '/login' });
$rootScope.$on('$routeChangeStart', function(event, next, current) {
if(next.access){
//Do Stuff
}
else{
$location.path("/login");
//This will load the current route first (ie: '/home'), and then
//redirect the user to the correct 'login' route.
}
});
Run Code Online (Sandbox Code Playgroud)
使用$ routeChangeStart,我可以使用"next"和"current"参数(请参阅AngularJS - $ route)作为对象来检索我的"访问"值.使用$ locationChangeStart,这两个参数返回url字符串,而不是对象.所以似乎无法检索我的"访问"值.
有没有什么方法可以将$ locationChangeStart的重定向停止功能与$ routeChangeStart的对象灵活性结合起来,以实现我的需求?
javascript routes angularjs angularjs-directive angularjs-routing
这是一些快速的背景信息.我刚升级到Angular 1.4.我正在使用用C#编写的API来进行服务器端调用.
我页面的一部分显示了2个选择列表(项目和子项目).两者都应默认为"(选择______)",我将其列为每个选择的第一个选项,其中"值"为0.适当的ng模型变量初始化为0.
选择列表的实际HTML代码是在服务器端使用字符串连接生成的,通过$ http传递给客户端,并使用调用$ compile的指令插入(完全不理想,但我的客户端几乎链接了我)到这个API).在1.4更新之前,一切都运行良好.
现在,我的项目选择列表默认为什么都没有.当我检查元素时,这就是我所看到的......
<select ng-change="updateSubProjList()" ng-model="curProjID">
<option value="? number:0 ?"></option>
<option value="0">(Select a Project)</option>
<option value="1">First Project</option>
<option value="2">Second Project</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
......首先是"?数字:0?" 条目是当前选择的条目.我的子项目选择列表仍然初始化很好,这使得这更奇怪.
我知道在对AngularJS 1.4的更新中有一些$ compile的更新,但我无法找到解决问题的方法.任何帮助将不胜感激.
javascript select angularjs angularjs-compile angularjs-ng-model
快速背景:我继承了一个包含英语和阿拉伯语文本组合的大型sql转储文件,并且(我认为)它最初是使用"latin1"导出的.在导入文件之前,我将所有出现的'latin1'更改为'utf8'.阿拉伯语文本在phpmyadmin中没有正确显示(我猜这是正常的),但是当我将文本加载到具有以下内容的网页时...
<meta http-equiv='Content-Type' content='text/html; charset=windows-1256'/>
Run Code Online (Sandbox Code Playgroud)
......一切看起来都很好,阿拉伯文字显示得很完美.
问题:我的客户真的非常挑剔,不想改变他的......
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Run Code Online (Sandbox Code Playgroud)
...相当于'Windows-1256'.我不认为这会是一个问题,但当我将字符集值更改为"UTF-8"时,所有阿拉伯字符都显示为带有问号的钻石.UTF-8不应该正确显示阿拉伯语文本吗?
以下是有关我的数据库配置的一些注意事项:
我一直在搜索堆栈溢出和其他论坛与我的问题有关的任何事情.我发现了类似的问题,但解决方案似乎并不适合我的具体情况.希望有人可以帮忙!