gpt4 book ai didi

javascript - 如何在 Angular 中使用ng-template?

转载 作者:行者123 更新时间:2023-11-30 09:40:26 24 4
gpt4 key购买 nike

我正在编写一个客户端 Angular 应用程序,我有一个与使用 Angular 的 ng-template 的方式相关的问题。 .

所以,我有这个 navbar :

<nav class="navbar navbar-inverse" >
<div class="container-fluid">
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<!--<li class="active"><a href="#">Home</a></li>-->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Events <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Create Event</a></li>
<li><a href="#"></a></li>
</ul>
</li>
<li><a href="#">About</a></li>
</ul>
<ul class="nav navbar-nav navbar-right" ng-include="getTemplate()">

</ul>
</div>
</div>
</nav>

好的,在最后<ul>我使用的标签 ng-include="getTemplate()" ,其中 getTemplate 是这个函数:

<script type="text/javascript">
$(function () {
var getTemplate = function () {
return "notauth";
}
})
</script>

基本上,这将返回相同的模板,但我只是希望它在我向它添加更多逻辑之前起作用。

“notauth”模板是:

<script type="text/ng-template" id="notauth">
<li><a ui-sref="signup"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
<li><a ui-sref="login"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</script>

请注意,这是在我的 index.html 页面中,因为我希望我的导航栏对于所有 View 都是相同的,但根据用户状态更改其模板:如果用户已登录,则使用 auth 模板,否则使用 notauth 模板。

问题是这不起作用,我不知道问题出在哪里。

最佳答案

使用 $scope 声明函数如下:

  $scope.getTemplate = function () {
return "notauth" ;
console.log("notauth")
}

然后你可以这样调用:

<ul class="nav navbar-nav navbar-right" ng-include="getTemplate()">

这可以正常工作。

关于javascript - 如何在 Angular 中使用ng-template?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41376831/

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