gpt4 book ai didi

angularjs - 获取 ui-router 的 ui-view 来重新填充默认内容?

转载 作者:行者123 更新时间:2023-12-02 20:51:48 24 4
gpt4 key购买 nike

如何在没有模板的情况下为 ui-router 的 ui-view 设置默认内容?

现在我有这样的事情:

<div ui-view>
Default Content
</div>

随着状态的变化, View 会按预期更新。问题是如果我想返回“默认” View :

$urlRouterProvider.otherwise('/');

..“默认内容”不再可用。我知道使用模板将是最简单的解决方案,但我需要默认 View 可索引。有没有一种方法可以在不使用模板或 HTML 快照之类的情况下完成此任务?

最佳答案

我不知道用默认内容重新填充ui-view的直接方法,但我找到了一个可能对您有帮助的解决方法:想法是保存ui的内容-view 元素在编译时使 UI Router 将其视为常规模板。

我编写了一个指令,也名为 uiView,它可以保存模板并且不需要您触摸 html

app.directive('uiView', function($templateCache){
return {
restrict: 'EA',
compile: function (element)
{
// Saves template with ui-view element content
$templateCache.put('$index.html', element.html());
}
};
})

您还必须添加一个状态以指向已保存的模板 ($index.html),并将其标记为默认状态:

app.config(function($stateProvider, $urlRouterProvider){
$stateProvider
.state("index",{
url: '/',
templateUrl: '$index.html' // points to saved template
})

[...] // more states

// Set `index` as default state
$urlRouterProvider.otherwise("/");
})

关于angularjs - 获取 ui-router 的 ui-view 来重新填充默认内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23351626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com