Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ng第二次单击时单击触发操作(不是第一次)_Javascript_Jquery_Angularjs_Templates_Angularjs Ng Click - Fatal编程技术网

Javascript Ng第二次单击时单击触发操作(不是第一次)

Javascript Ng第二次单击时单击触发操作(不是第一次),javascript,jquery,angularjs,templates,angularjs-ng-click,Javascript,Jquery,Angularjs,Templates,Angularjs Ng Click,我在模板中有以下代码: <a href="" ng-ctrl="ThemesCtrl" ng-click="checkThemeContent({{theme}})" ng-repeat="theme in themes" ng-hide="theme[filterProp] !== filterValue" class="list-group-item"> <b>{{theme.name}}</b>

我在模板中有以下代码:

  <a href=""  ng-ctrl="ThemesCtrl" ng-click="checkThemeContent({{theme}})" ng-repeat="theme in themes" ng-hide="theme[filterProp] !== filterValue" class="list-group-item">
                    <b>{{theme.name}}</b>
                    <span class="themesListIcons">
                        <i class="fa fa-check-square-o"></i> {{theme.avg_score}}
                        <i class="fa fa-comment-o"></i> {{theme.count_of_cards}}
                    </span>
                </a>
问题是,在执行方法中的代码后,$scope.displayedTemplate在作用域中更改,但不显示模板,第二次单击后一切正常

我不知道是什么导致了这种行为

谁能告诉我我做错了什么

以下是基于displayedTemplate范围的包含视图的div:

 <div class="col-md-8" ng-controller="CardsCtrl">
                <!-- ADD TEMPLATE -->
                <div ng-if="displayedTemplate == 'add'" class="header" ng-include src="'/views/themes/add_theme.html'">
                </div>
                <!-- EDIT TEMPLATE -->
                <div ng-if="displayedTemplate == 'edit'" class="header" ng-include src="'/views/themes/edit_theme.html'">
                </div>
                <!-- THEME DETAIL TEMPLATE -->
                <div ng-if="displayedTemplate == 'detail'" class="header"  ng-include src="'/views/themes/detail_theme.html'">
                </div>
                <!-- DEFAULT TEMPLATE -->
                <div ng-if="displayedTemplate == 'default'" class="header"  ng-include src="'/views/themes/default_theme.html'">
                </div>
                <!-- NO CARD TEMPLATE -->
                <div ng-if="displayedTemplate == 'empty'" class="header"  ng-include src="'/views/themes/empty_theme.html'">
                </div>
        </div>


对于任何建议,我认为问题在于如何将参数传递给函数。像这样简单地传递它
ng click=“checkThemeSecont(theme);”
第一次关闭将
checkThemeSecont({{theme})
更改为
checkThemeSecont(theme)
第二次,尝试初始化
$scope.displayedTemplate
a.e.给出默认值。听起来像是启动时未定义的
 <div class="col-md-8" ng-controller="CardsCtrl">
                <!-- ADD TEMPLATE -->
                <div ng-if="displayedTemplate == 'add'" class="header" ng-include src="'/views/themes/add_theme.html'">
                </div>
                <!-- EDIT TEMPLATE -->
                <div ng-if="displayedTemplate == 'edit'" class="header" ng-include src="'/views/themes/edit_theme.html'">
                </div>
                <!-- THEME DETAIL TEMPLATE -->
                <div ng-if="displayedTemplate == 'detail'" class="header"  ng-include src="'/views/themes/detail_theme.html'">
                </div>
                <!-- DEFAULT TEMPLATE -->
                <div ng-if="displayedTemplate == 'default'" class="header"  ng-include src="'/views/themes/default_theme.html'">
                </div>
                <!-- NO CARD TEMPLATE -->
                <div ng-if="displayedTemplate == 'empty'" class="header"  ng-include src="'/views/themes/empty_theme.html'">
                </div>
        </div>