仅在定义参数时使用 ui-sref

use ui-sref only if the parameter is defined

这是我的以下代码:

查看:

<div class="single-user" ui-sref-active="activeState" ui-sref="app.usersingle({id:item[0].id})">    
    <li class="userTicket">Total: {{item[0].nbtickets}}</li>
</div>

并在 app.js 中:

 .state('app.usersingle',{
            url:"/user:id",
            templateUrl: "views/single_user.html",
            controller:"userCtrl",
            reloadOnSearch:true
        })

我希望只有在定义了 item[0].id 时才能单击我的 div(来自我的 ui-sref)。 我怎样才能做到这一点。因为当 item[0].id 未定义时,它加载下一页时会出现错误。我想要的只是当 item[0].id 没有定义时它只是停留在页面中什么都不做。 解释清楚了吗?

您可以对 ui-sref 本身执行条件操作,当 Id 存在时您可以重定向到其他状态 其他重定向到其他状态 .

ui-sref="{{ item[0].id ? 'app.usersingle({id:item[0].id})': '.'}}"

参考了this answer