我添加了ng-include
functionnality的视图:
<footer ng-include="view" ng-controller="searchPresenter" class="searchW"> </footer>
我的控制器定义:
$scope.view = 'search/minView.html';
$scope.search = function() {
$scope.view = 'search/mainView.html';
jQuery('html').click(function(event) {
$scope.view = 'search/minView.html';
console.log($scope.view)
});
};
搜索功能仅用于包含的第一个视图:
<div class="..." ng-click="search()">
<i class="search icon"></i>
</div>
但是当我第一次点击我刚刚加载的视图时,jQuery函数被执行(我看到它进入控制台),而它不应该。
然后当我点击页面上的任意位置时,控制台会显示2个新行,而只有1个事件应该注册到html
内容。
有什么想法吗?
答案 0 :(得分:-1)
你的控制器中不应该有任何jQuery。你已经有了一个ng-click事件,所以添加jQuery不仅是click事件的重复,而且完全不是Angular的做事方式。您只需更改$ scope变量的值即可获得ng-click事件。
$scope.view = 'search/minView.html';
$scope.search = function() {
$scope.view = 'search/mainView.html';
};