ui-router中的sref还不支持动态绑定

    Angular-Ui对于angular开发者来说是一个非常重要的工具,其中ui-router又是重中之重。然今天发现里面的sref不支持动态绑定。

    具体来说:

    <a ui-sref="homePage">Home</a>

    这是一个非常简单的ui-sref的使用,当javascript重新生成网页时,它会查找$state中名为“homePage”的state,读取这个state的url,然后在a标签里生成href="url"。

    但如果,你在创建一个导航控制器,里面有一个导航item的数组:

    $scope.items = [

      {name: "Home", statePage: "homePage"},

      {name: "About Me", statePage: "aboutMePage"}

    ]

    然后在html中使用repeat:

    <li repeat="item in items">

    <a sref="{{item.statePage}}"><{{item.name}}</a>

    </li>

    看起来很理所当然,而事实却是,sref不支持动态绑定,这样的代码会报错。sref中你只能使用state名,顶多加点参数。

    github上已有人提交这个问题,https://github.com/angular-ui/ui-router/issues/395,但似乎是编写者本身不希望有这样的用法。这样的话,你只能放弃sref,用回href绑定,你可以用$state.href来读取state的url。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章