Angulardart不应使链接重新加载

Angulardart不应使链接重新加载,dart,angular-dart,Dart,Angular Dart,在angularjs中,您可以禁止在使用时重新加载页面 在angulardart中,链接实际上是导航到href。这是有意的吗 angularjs行为的Goog示例: (链接,不重新加载) 编辑 导入'dart:html'; // ... 无效clickHandler(MouseeEvent事件){ event.preventDefault();//禁止默认的单击操作 event.stopPropagation();// //event.stopImmediatePropagation(

在angularjs中,您可以禁止在使用时重新加载页面


在angulardart中,链接实际上是导航到href。这是有意的吗

angularjs行为的Goog示例:

(链接,不重新加载)
编辑


导入'dart:html';
// ...
无效clickHandler(MouseeEvent事件){
event.preventDefault();//禁止默认的单击操作
event.stopPropagation();//
//event.stopImmediatePropagation();//可选
//做点别的
}
旧答案

我自己还没用过,但AngularDart有NgHref指令


另一个解决方案是启用
NgRoutingUsePushState
,它似乎根本不会干扰锚定链接或ng点击。您只需删除或注释RoutingModule中的以下行:

//绑定(NgRoutingUsePushState,toValue:new-NgRoutingUsePushState.value(false));
要使用推送状态,还必须让Web服务器将URL重写为
index.html
。这使得在本地dev服务器上运行应用程序更加复杂,但我决定使用它,因为我最终需要该功能,也因为这个bug。nginx配置示例如下:

位置/{
#尝试直接服务文件,回退重写
尝试_files$uri@rewriteapp;
}
位置@rewriteapp{
#将所有内容重写为index.html
最后重写^(+)$/index.html;
}

注意:使用Angular 0.13.0进行测试

使用ng href以便可以在href中计算表达式。使用常规href时,用户首先可以单击{{musthash}}。但在我的情况下,我想禁用所有导航,只需调用ng-click。谢谢更新。我必须说,这个解决办法看起来相当乏味。我还必须使用stopPropagation()。只有使用preventDefault()仍然执行导航。是的,这是当前的解决方法,我同意这不太可取。也许可以试试这个:我的答案可能已经过时了。我有一段时间没有使用Angular.dart,也不知道在此期间是否有更好的选项可用。当我想要创建一个没有路线更改的按钮时(在angularJS中),我总是使用不带href/ng href属性的锚定标记,在我看来,它在angularDart中也可以正常工作。。。这是否符合您的行为要求?@doodeec可以工作,但它会将光标变成文本选择器,而不是一个不太理想的指针。请注意,如果您有嵌套路由(如
http://example.com/category/page
。我遇到了一些奇怪的问题,Chrome和Chrome内存不足,因为我的组件相对地而不是绝对地指定了它的
templateUrl
,并且找不到资源。例如,我的代码是
templateUrl:'packages/mypackage/component/mycomponent.html'
,而它本应该是
templateUrl:'/packages/mypackage/component/mycomponent.html'