Button 角度范围、ng重复和ng单击时的调用方法

Button 角度范围、ng重复和ng单击时的调用方法,button,twitter-bootstrap,angularjs,angularjs-scope,Button,Twitter Bootstrap,Angularjs,Angularjs Scope,我是一名自学成才的编程新手,致力于使用node、angular、bootstrap和图形数据库neo4j开发web应用程序 我希望在下面的代码中得到一些关于我做错了什么的提示 断开的HTML: <div class='btn-group' ng-controller="typeCtrl" ng-repeat="type in display"> <button class='btn' ng-click='whatsmyname(type)' > {{type}}<

我是一名自学成才的编程新手,致力于使用node、angular、bootstrap和图形数据库neo4j开发web应用程序

我希望在下面的代码中得到一些关于我做错了什么的提示

断开的HTML:

<div class='btn-group'  ng-controller="typeCtrl" ng-repeat="type in display">
<button class='btn' ng-click='whatsmyname(type)' > {{type}}</button>
    <button class='btn dropdown-toggle dropdown'><span class='caret'></span></button>
<ul class= 'dropdown-menu'>
  <li><a>Exclue Term</a></li>
  <li><a>Exclue and Load</a></li>
  <li><a>Include</a></li>
  <li><a>Include and Load</a></li>
</ul>
<p>Hello? {{display}}</p>

{{type}}


  • 我不明白为什么简单的例子调用函数而更复杂的例子不调用。请注意,在我的机器上,这个复杂的示例至少显示正确——我一定是在将其转换为plunker时出错了。据我所知,这可能与范围有关,但我不知道到底发生了什么。任何建议(与此问题以及一般建议直接相关)都将不胜感激。

    如果您可以在此处添加代码,那将非常棒。添加代码-同时解决问题。我需要在当前div之外包含一个div,并在其中标识控制器。
    function typeCtrl($scope){
        var theList = [];
        var alltheterms;
        var things = [{"name":"Image","tags":["Type","Image","Core"]},{"name":"GIF","tags":["Type","Image"]},{"name":"Infographic","tags":["Type","Image"]},{"name":"Chart","tags":["Type","Image"]},{"name":"Photo","tags":["Type","Image"]},{"name":"Microscope","tags":["Type","Image"]},{"name":"Telescope","tags":["Type","Image"]},{"name":"Text","tags":["Type","Text","Core"]},{"name":"Article","tags":["Type","Text"]},{"name":"Short Story","tags":["Type","Text"]},{"name":"Quote","tags":["Type","Text"]},{"name":"Podcast","tags":["Type","Audio"]},{"name":"Audio","tags":["Type","Audio","Core"]},{"name":"Video","tags":["Type","Video","Core"]},{"name":"Map","tags":["Type","Image"]},{"name":"Website","tags":["Type","Core","Website"]}];
        var core = [];
    
        var filterData = function(data){
                 for(var i=0;i<data.length;i++){
                     if (data[i].tags.indexOf("Core") > -1){
                         theList.push(data[i].name);
                     }
                 }
                 alltheterms = data;
                 core = theList
                 $scope.display = theList;
             };
    
     $scope.whatsmyname = function (value){
            $scope.value = value;
            theList = [];
            for(var i=0;i<alltheterms.length;i++){
                if (alltheterms[i].tags.indexOf(value) > -1){
                    theList.push(alltheterms[i].name);
                }
            }
            var notAgain = theList.indexOf(value);
            theList.splice(notAgain,1);
            $scope.display=theList;
        };   
        $scope.reset = function(){
          $scope.display = core;
        }
      filterData(things);