AngularJS 在 div 中使用 ng-click
AngularJS using ng-click inside a div
我无法让 ng-click 工作,我试图在 div 中将 url 传递给它,因此当用户单击它时它会转到下一页,但是当我点击 div 时,我可以看到它是正确的 link 但它没有转到下一页,而是 returns 到主页。
<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 );
};
$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
。
首先,路径应始终以正斜杠 (/) 开头,否则会自动附加。删除 # 它应该可以工作
<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>
由于 ionic 框架使用 ui-router 进行路由,因此您应该这样做:
$scope.urlcontato = function ( state ) {
$state.go(state);
}
当然,您必须在控制器(或指令)中注入 $state 服务。
对于 html 代码中的默认值 link,您应该使用
<a ui-sref="yourstate">Linktitle</a>
有关详细信息,请参阅 this Navigation and Routing Article
我无法让 ng-click 工作,我试图在 div 中将 url 传递给它,因此当用户单击它时它会转到下一页,但是当我点击 div 时,我可以看到它是正确的 link 但它没有转到下一页,而是 returns 到主页。
<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 );
};
$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
。
首先,路径应始终以正斜杠 (/) 开头,否则会自动附加。删除 # 它应该可以工作
<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>
由于 ionic 框架使用 ui-router 进行路由,因此您应该这样做:
$scope.urlcontato = function ( state ) {
$state.go(state);
}
当然,您必须在控制器(或指令)中注入 $state 服务。
对于 html 代码中的默认值 link,您应该使用
<a ui-sref="yourstate">Linktitle</a>
有关详细信息,请参阅 this Navigation and Routing Article