如何制作 Angular Material <md-select> + UI 路由器视图切换器?
How to make an Angular Material <md-select> + UI Router view switcher?
在具有 AngularJS and UI Router, I'd like to make an Angular Material <a href="https://material.angularjs.org/HEAD/#/api/material.components.select/directive/mdSelect" rel="nofollow"><md-select></a>
的单页 Web 应用程序中,它将在多个视图之间切换(a.k.a。ui-router "states")。
- 在this plunker I am able to make that happen using plain
<select>
with ng-options中,没有Angular Material。请注意 <select>
的选定选项如何与浏览到的位置相匹配。
- 在 this other plunker 从上面分配的 Angular Material 中分叉出来,事情不太好 ☹ 在浏览(初始页面加载或 URL 单击)时
<md-select>
没有设置为初始 location/state <md-option>
.
有什么想法吗?
将 md-option
的 value
字段更改为状态对象而不仅仅是名称(使用 ng-value
)解决了问题:
<md-option ng-repeat="state in ctrl.$state.get()" ng-value="state">{{ state.name }}</md-option>
感谢 epelc 在 Angular Material github:
<md-option ng-repeat="state in ctrl.$state.get()" ng-value="state.name">{{ state.name }}</md-option>
Numyx 的回答非常接近,除了似乎没有必要按照建议将 JS 对象本身分配给 ng-value=""
。
在具有 AngularJS and UI Router, I'd like to make an Angular Material <a href="https://material.angularjs.org/HEAD/#/api/material.components.select/directive/mdSelect" rel="nofollow"><md-select></a>
的单页 Web 应用程序中,它将在多个视图之间切换(a.k.a。ui-router "states")。
- 在this plunker I am able to make that happen using plain
<select>
with ng-options中,没有Angular Material。请注意<select>
的选定选项如何与浏览到的位置相匹配。 - 在 this other plunker 从上面分配的 Angular Material 中分叉出来,事情不太好 ☹ 在浏览(初始页面加载或 URL 单击)时
<md-select>
没有设置为初始 location/state<md-option>
.
有什么想法吗?
将 md-option
的 value
字段更改为状态对象而不仅仅是名称(使用 ng-value
)解决了问题:
<md-option ng-repeat="state in ctrl.$state.get()" ng-value="state">{{ state.name }}</md-option>
感谢 epelc 在 Angular Material github:
<md-option ng-repeat="state in ctrl.$state.get()" ng-value="state.name">{{ state.name }}</md-option>
Numyx 的回答非常接近,除了似乎没有必要按照建议将 JS 对象本身分配给 ng-value=""
。