我无法点击工作,我正在尝试在div中传递一个url,所以当用户点击它进入下一页时,但是当我点击div时我可以看到它正在获得正确的链接,但它不会转到下一页,而是返回到家中。
<div ng-repeat="contatosCliente in contatos" class="conteudo" type="item-link" ng-click="urlcontato('#/app/contatos/' + contatosCliente.contatos_id)">
{{contatosCliente.nome}}
<i class="ion-ios-arrow-right" style="border: none; padding-right: 11px"></i>
</div>
我的控制员:
$scope.urlcontato = function ( path ) {
$location.path( path );
};
答案 0 :(得分:2)
$location.path
应该只使用正斜杠调用,没有那个散列。
https://docs.angularjs.org/api/ng/service/$location
<div ng-repeat="contatosCliente in contatos" class="conteudo" type="item-link" ng-click="urlcontato('/app/contatos/' + contatosCliente.contatos_id)">
您应该检查以确保您的视图绑定到您的控制器。在函数中添加一些日志记录,或使用调试器语句,以确保调用urlcontato
。
答案 1 :(得分:2)
首先路径应始终以正斜杠(/)开头,否则会自动追加。删除#,它应该工作
<div ng-repeat="contatosCliente in contatos" class="conteudo" type="item-link" ng-click="urlcontato('/app/contatos/' + contatosCliente.contatos_id)">
{{contatosCliente.nome}}
<i class="ion-ios-arrow-right" style="border: none; padding-right: 11px"></i>
</div>
答案 2 :(得分:1)
由于离子框架使用ui-router进行路由,您应该这样做:
$scope.urlcontato = function ( state ) {
$state.go(state);
}
当然,您必须在Controller(或指令)中注入$ state服务。
对于html代码中的默认链接,您应该使用
<a ui-sref="yourstate">Linktitle</a>
有关详细信息,请参阅this Navigation and Routing Article