我有一个应用程序,分为经过身份验证的部分(InternalRootComponent)和匿名部分(ExternalRootComponent).
当我明确导航到路径时,一切正常,但是当我转到根(/)时,我没有被重定向.此外,由于某种原因加载AccountsComponent.
APP-routing.module.ts:
export const routes: Routes = [
{
path: '',
redirectTo: 'login',
pathMatch: 'full'
},
{
path: 'login',
component: ExternalRootComponent,
children: [
{
path: '',
loadChildren: './login/login.module#LoginModule'
}
]
},
{
path: 'membership',
component: ExternalRootComponent,
children: [
{
path: '',
loadChildren: './membership/membership.module#MembershipModule'
}
]
},
{
path: 'app',
component: InternalRootComponent,
canActivate: [AuthGuard],
children: [
{
path: '',
canActivateChild: [AuthGuard],
children: [
{
path: '',
redirectTo: './dashboard',
pathMatch: 'full'
},
{
path: 'dashboard',
loadChildren: './dashboard/dashboard.module#DashboardModule'
},
{
path: 'accounts', …
Run Code Online (Sandbox Code Playgroud) 如何确定旋转木马是向左还是向右滑动?我查看了滑动和滑动事件的文档,但都没有提供有关幻灯片方向的任何相关信息.
我还检查了传递给slid事件的事件处理程序的事件对象,但我似乎也找不到任何有用的线索.
任何帮助,将不胜感激!
我想根据以下规则将一些页面从旧网站(oldsite.com)重定向到新网站(newsite.*):
为此,我创建了以下规则(在本例中为sv):
<rule name="Redirect /sv to .se" stopProcessing="true">
<match url="^sv/?$" />
<action type="Redirect" url="http://newsite.se" />
</rule>
<rule name="Redirect /sv/* except some pages" stopProcessing="true">
<match url="^sv/.+" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_URI}" pattern="^sv/page1(.*)" negate="true" />
<add input="{REQUEST_URI}" pattern="^sv/page2(.*)" negate="true" />
</conditions>
<action type="Redirect" url="http://newsite.se" />
</rule>
Run Code Online (Sandbox Code Playgroud)
第一条规则很好但不是第二规则.问题是我的否定条件似乎不起作用.当我输入oldsite.com/sv/page1时,我仍然会被重定向到newsite.se.也许我误解了否定条件是如何工作的,但是当且仅当两个条件都为真(评估为假)时,第二条规则不应该执行动作,即REQUEST_URI 与/ page1和/ page2 不匹配?
我目前正在使用HTML 5,CSS和JQuery开发Web应用程序.我有一个无序列表(ul)用于显示页面链接,每个li元素包含页面链接.此列表是使用jQuery动态创建的.
我想要做的是让列表元素只显示链接中的页面名称,但同时保留完整的链接路径.例如,"http://www.foo.com/xyz/contactus"将显示为"contactus",但li元素仍将"知道"完整的链接路径.为此目的,li的value属性将是完美的,因为我可以这样设置它们:
var ul = $('<ul/>').attr('id', 'linkList');
for (var i = 0; i < linksOnPage.length; i++) // linksOnPage is an array with all the links
{
var pgName = linksOnPage[i].toString().slice(steps[i].toString().lastIndexOf('/') + 1);
// Create list element and append content
var li = $('<li/>').text(pgName); // Set the text to the page name
li.attr('value', linksOnPage[i].toString()); // Set the value to the full link
ul.append(li);
}
Run Code Online (Sandbox Code Playgroud)
这将创建一个列表,如:
<ul>
<li value="http://www.foo.com/xyz/contactus">contactus</li>
...
</ul>
Run Code Online (Sandbox Code Playgroud)
不幸的是,自从HTML 4.01以来,li的value属性已被弃用(任何人都知道这背后的基本原理?对我来说似乎很有用......).
所以,我想就如何进行提出一些建议.一种选择是忽略弃用并且仍然使用value属性,因为所有主流浏览器仍然支持它,但我不是非常热衷于使用已弃用的功能而且它只是感觉不对.
有任何想法吗?
我一直坚持这个问题好几个小时......我想要做的事实上很简单 - 在ComboBox中设置默认的选定项目(我使用的是MVVM模式).
我在视图中为ComboBox提供了以下XAML:
<ComboBox ItemsSource="{Binding Schools}"
DisplayMemberPath="Acronym"
SelectedValue="{Binding SelectedSchool}"
SelectedValuePath="Id"
/>
Run Code Online (Sandbox Code Playgroud)
在我的ViewModel中,我有一个ObservableCollection,Schools:
public ObservableCollection<School> Schools { get; private set; }
public CourseFormViewModel()
{
Schools = new ObservableCollection<School>();
try
{
// Gets schools from a web service and adds them to the Schools ObservableCollection
PopulateSchools();
}
catch (Exception ex)
{
// ...
}
}
public int SelectedSchool
{
get { return schoolId; }
set
{
schoolId = value;
OnPropertyChanged("SelectedSchool");
}
}
Run Code Online (Sandbox Code Playgroud)
最后,School是一个简单的业务对象:
[DataContract]
public class School
{
[DataMember]
public int …
Run Code Online (Sandbox Code Playgroud)