如何点击 - 点击链接

时间:2014-08-30 00:44:24

标签: angularjs templates search controller include

我是AngularJS的新手,我需要点击链接来添加另一个模板。

我有一个nav.html和一个header.html。两者都包含在index.html中。 在header.html中我有

<li class="search-box visible-md visible-lg" data-ng-include=" 'views/calls/search.html' ">

调用/ search.html

<div class="input-group" data-ng-controller="callSearchCtrl">
<span class="input-group-addon"><i class="fa fa-search text-muted"></i></span>
<input type="text" class="form-control" placeholder="Suchen..."></div>

我必须在标题中添加另一个模板,方法是点击菜单点(即联系人)以加载contacts / search.html

<div class="input-group" data-ng-controller="contactsSearchCtrl">
<span class="input-group-addon"><i class="fa fa-search text-muted"></i></span>
<input type="text" class="form-control" placeholder="Suchen..."></div>

获得另一个搜索控制器。

案例是,我在标题中有一个搜索栏,我想在已加载的内容模板中搜索。

也许我有错误的心态来解决这个问题......

任何人都知道解决方案吗?

此外:

现在我在导航中添加了不同的ng-clicks,如:

            <a href="#/contacts/contacts" data-ng-click="selectType('contacts')"><i class="fa fa-users"></i><span>Kontakte</span></a>

但是我必须将范围功能放在我的HeaderCtrl或NavCtrl中吗?

P.S。抱歉我的英文不好: - )

干杯 bambamboole

1 个答案:

答案 0 :(得分:2)

@ coder-john建议,最简单也可能是最惯用的。

data-ng-include="search.option"

在你的控制器中,

$scope.search = {};
$scope.selectType = function (type) {
    $scope.search.option = 'views/'+type+'/search.html';
};
$scope.selectType('calls');

您的菜单选项应调用适当的处理程序,例如

data-ng-click="selectType('calls')"

data-ng-click="selectType('contacts')"

酌情。