我正在AngularJS教程应用程序中实现搜索功能。因此,只要用户输入搜索<input>
字段,我就想要更改我的文档<title>
。
为此,我在文档的query
中使用ng-bind-template
模型和<title>
,以避免在加载应用程序时出现双花括号{{}}
闪烁效果。< / p>
以下是我的代码供参考。
<!DOCTYPE html>
<html lang="en" ng-app="phonecatApp" ng-controller="PhoneListCtrl">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<link rel="icon" href="/assets/img/fav.png">
<title ng-bind-template="Phonecat | {{query}}">Phonecat</title>
<link rel="stylesheet" href="/assets/css/app.css">
<script src="/assets/js/angular/angular.min.js"></script>
</head>
<body>
<div>
<span>Search: </span><input ng-model="query" />
</div>
<ul>
<li ng-repeat="phone in phones | filter:query">
<span>{{phone.name}}</span>
<p>{{phone.snippet}}</p>
</li>
</ul>
<p>Total number of phones: {{phones.length}}</p>
<script src="/assets/js/app.js"></script>
</body>
</html>
此处,我的<title>
代码具有ng-bind-template
指令query
模型&amp;预定义的内容,
Phonecat
现在,当页面加载文档<title>
设置为
Phonecat |
而不只是&#34; Phonecat &#34;。
我不希望ng-bind-template
评估&amp;如果<title>
模型 EMPTY ,则更改我的文档query
。如果query
型号 EMPTY ,它应该只显示初始内容(在这种情况下为 Phonecat )作为文档的标题&amp;当query
模型更新时&amp; NOT EMPTY ,它应该更新标题(即 Phonecat | nexus mobile )。
如果有人能解释如何解决这个问题,那将会很棒。
谢谢!
答案 0 :(得分:0)
您可以使用<title>{{ query ? 'Phonecat | ' + query : 'Phonecat'}}</title>
中的三元运算符来有条件地构建标题:
{{1}}
可替换地:
{{1}}