Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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 AngularJS ng单击不工作_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS ng单击不工作

Javascript AngularJS ng单击不工作,javascript,angularjs,Javascript,Angularjs,因此,我打算从本周末开始学习AngularJS,但有一件事我还没有开始工作,那就是ng click功能,有人能提供一个建议,说明为什么它不能与我做错的任何事情的一般建议一起工作吗 要清楚的是,下拉列表填充得很好,我想能够捕捉到它的项目点击 HTML: <html ng-app="slotDemo"> <div ng-app ng-controller="gameList" > <div class="dropdown">

因此,我打算从本周末开始学习AngularJS,但有一件事我还没有开始工作,那就是ng click功能,有人能提供一个建议,说明为什么它不能与我做错的任何事情的一般建议一起工作吗

要清楚的是,下拉列表填充得很好,我想能够捕捉到它的项目点击

HTML:

<html ng-app="slotDemo">

  <div ng-app ng-controller="gameList" >
        <div class="dropdown">
           <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="false">
    Please Pick a Game
    <span class="caret"></span>
  </button>

  <ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
    <li ng-repeat="slot in slots" role="presentation" ng-click="gameList.fetchGame(slot.id)"><a role="menuitem" href="#">{{slot.id}} {{slot.name}}</a></li>
  </ul>
  </div>

</div>

您需要删除游戏列表前缀:

ng-click="fetchGame(slot.id)"

否则angular将在您的作用域中查找gameList对象(使用fetchGame方法),而您没有。

删除gameList前缀,这应该可以工作:
ng click=“fetchGame(slot.id)”
Ohh我的上帝。。。。。。我觉得自己有多蠢,如果你贴出答案,我会记下来。好吧,但这就是我不明白的,控制器在作用域中不?作用域对象被注入控制器函数中。您向html元素添加一个
ng控制器
,告诉它谁是您的控制器,从那里您的当前对象就是作用域。当您编写
ng repeat=“slot in slots”
时,您认为
slots
引用在哪里?它是从
$scope.slots
上取的。啊,明白了,我把它倒过来了。感谢您的帮助,我们将尽快标记为正确。
ng-click="fetchGame(slot.id)"