使用具有空字符串模板的父状态时的角度ui-router问题

时间:2016-04-02 11:59:00

标签: angularjs angular-ui-router

我试图在没有模板的父状态下使用ui-router。我发现这个topic,其中说状态需要有一个模板。所以现在我的路由器配置看起来像:

    $stateProvider
            .state("customer", {
                abstract: true,
                url: "/customer",
                template: ''
            })
            .state("application", {
                url: "/application",
                template: "<application>",
                parent: "customer"
            })
            .state("company", {
                url: "/company",
                template: "<company>",
                parent: "customer"
            })

并在html中:

<ul>
<li>
<a ui-sref="application" href="#/customer/application">APPLICATION</a>
</li>
<li>
<a ui-sref="company" href="#/customer/company">COMPANY</a>
</li>
</ul>

运行此代码不会显示错误,但页面应用程序和公司不显示内容。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为,您需要提供ui-view指令作为父状态的模板。您可以从html中删除href,因为ui-sref会为您执行此操作。

共:

$stateProvider
            .state("customer", {
                abstract: true,
                url: "/customer",
                template: '<div ui-view></div>'
            })
            .state("customer.application", {
                url: "/application",
                template: "<application></application>"
            })
            .state("customer.company", {
                url: "/company",
                template: "<company></company>"
            })

你的HTML:

<ul>
    <li>
        <a ui-sref="customer.application">APPLICATION</a>
    </li>
    <li>
        <a ui-sref="customer.company">COMPANY</a>
    </li>
</ul>