首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >角度单击在div中不起作用

角度单击在div中不起作用
EN

Stack Overflow用户
提问于 2014-12-17 03:03:42
回答 4查看 64.4K关注 0票数 20

好吧,我已经被困在这里一段时间了,我确定这是相对愚蠢的事情

http://plnkr.co/edit/YcBnbE5VCU5rizkDWreS?p=preview

<head>
    <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet" type="text/css" />
    <link href="http://twitter.github.com/bootstrap/assets/css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
    <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.3/angular.min.js"></script>

    <script >
        function myCtrl($scope,  $window) {
            $scope.vm = {};
            $scope.vm.Courses = [
              { Id: 1, Name: "Course 1"},
              { Id: 2, Name: "Course 2"}
              ];
            $scope.OpenCourse = function(courseId) {
                $window.alert("Called " + courseId);
            }
        }
    </script>
</head>
<body ng-controller="myCtrl">
    <div>  
        <div ng-repeat="course in vm.Courses" ng-click="vm.OpenCourse(course.Id)">
            <div>
                <div>
                    <label>{{course.Name}}</label>
                </div>
            </div>
        </div>
    </div>
</body>

为什么ng-click不在这里触发呢?这个问题似乎被问了很多,但所有的答案似乎都没有帮助。将div从repeat中移出似乎也能让它工作,但我还是不确定为什么。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-17 03:06:42

删除vm.

结果:

<div ng-repeat="course in vm.Courses" ng-click="OpenCourse(course.Id)">

为什么?因为您设置为$scope的所有内容在partial上都可用,然后您只需调用它。

票数 21
EN

Stack Overflow用户

发布于 2014-12-17 03:23:47

在OpenCourse(course.Id)前面没有"vm“实际上是我在创建柱塞时的一个打字错误。我已经标记了一个正确的答案,因为它确实导致柱塞工作,但我的问题不是这个。原来我有一个分配给外部div的类,它改变了z索引,将这个div“放在”其他div后面,并且不允许点击传播。

票数 8
EN

Stack Overflow用户

发布于 2015-06-02 21:37:18

如果你使用<label>,当你点击它时,你可能会遇到奇怪的行为。如果可能,尝试将其更改为其他代码,并重新测试您的代码。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27512016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档