我有一个AngularJS应用程序,它使用ui.router和插件ui.router-extras,特别是粘性状态模块.这允许我从给定的父状态向下缓存渲染的DOM.
问题是,当我转换到我设置为"粘性"(即缓存)的状态时,与该状态关联的事件都不会触发.看起来,OnEnter和Resolve都已经运行并且被缓存了.
states.push({ name: 'root.planner', url: 'planner',
abstract: true,
views: {
'planner-tab': {
controller: 'planner',
templateUrl: 'views/planner/_planner.html'
}
},
sticky:true,
deepStateRedirect: true
});
states.push({ name: 'root.planner.home', url: '',
controller: 'planner.home',
templateUrl: 'views/planner/_planner.home.html',
resolve: {
'promiseDays': function(PlannerService){
return PlannerService.getDays();
}
},
onEnter: function(StatusService){
//set editable
StatusService.toggleEditIcon(true);
},
onExit: function(StatusService){
//set editable
StatusService.toggleEditIcon(false);
}
});
Run Code Online (Sandbox Code Playgroud)
我需要的是允许OnEnter运行的方法或可以为每个州定制的类似事件.理想情况下,这将位于上面的状态配置中(例如,我可以避免对每个stateChangeSuccess进行状态名检查),但我愿意接受建议.
我很难找到有关Windows 10手机测试的有意义的文档.我已经添加了win 10作为平台,它创建了一个项目文件夹,但是目前还不清楚从这一点开始做什么.有没有人通过这个过程?
我使用VS 2013版本的TypeScript版本0.95但是linter在TS编译失败时出错:
TsLint:app.ts检查.TsLint:jquery.d.ts编译失败:TsLint:超过最大行长度140
jquery.d.ts文件确实有超过140行的行,但我找不到tslint配置文件来编辑max-line-length值.
我正在使用WebEssentials 2013,我没有安装tslint作为包的一部分(NPM或Nuget).
谁能指出我正确的方向?我想现在在VS之外设置编译/ linting可能更容易..
谢谢.