Javascript ng click不执行任何操作,DOM会注意到一次单击

Javascript ng click不执行任何操作,DOM会注意到一次单击,javascript,angularjs,Javascript,Angularjs,尝试设置一个简单的ng click事件,并阅读有关它的其他页面。似乎只要将它添加到$scope中,它就应该可以工作,但在我在下面页面中介绍的两个示例中,没有任何效果(preventDefault()除外) ng点击测试 点击我 和控制器 var DBFScube = angular.module("DBFScube", ['ngSanitize']); DBFScube.controller("AppCtrl", function ($sce, $scope, $http, $filte

尝试设置一个简单的ng click事件,并阅读有关它的其他页面。似乎只要将它添加到$scope中,它就应该可以工作,但在我在下面页面中介绍的两个示例中,没有任何效果(preventDefault()除外)


ng点击测试
  • 点击我
    和控制器

    var DBFScube = angular.module("DBFScube", ['ngSanitize']);
    
    DBFScube.controller("AppCtrl", function ($sce, $scope, $http, $filter){
        var app = this;
        //
        //$http.get("http://localhost:3000").success(function(CubeSides){
          //  app.CubeSides = CubeSides;
        //})
        $http.get("http://localhost:3000").success(function(CubeSides){
            $scope.sides=CubeSides;
            console.log("Loading data");
        })
        app.getmenuname = function(side) {
            if($scope.sides === undefined) {
                console.log("Not loaded fside " + side );
            } else {
                console.log("Got menu pane " + $scope.sides);
                var fside = $filter('filter')($scope.sides, function (d) {return d.side === side;})[0];
                console.log("Sending: " + fside.menuname);
                return fside.menuname;
            }
        }
        $scope.alert = function(message) { alert(message); }
        $scope.growpane = function (side) {
            console.log("You pressed the button, like " + side);
        }
        app.showpane = function (side) {
            console.log("Loading side: " + side);
            if($scope.sides === undefined) {
                console.log("Not loaded yet");
            } else {
                console.log("Got page " + $scope.sides);
                var fside = $filter('filter')($scope.sides, function (d) {return d.side === side;})[0];
                var culine = '<iframe src="' + fside.surl + '" height="700" width="700"></iframe>';
                console.log(culine);
                return $sce.trustAsHtml(culine);
            }
        }
    
    })
    
    var DBFScube=angular.module(“DBFScube”,“ngSanitize]”);
    控制器(“AppCtrl”,函数($sce、$scope、$http、$filter){
    var-app=这个;
    //
    //$http.get(“http://localhost:3000)。成功(功能(立方边){
    //app.CubeSides=CubeSides;
    //})
    $http.get(“http://localhost:3000)。成功(功能(立方边){
    $scope.sides=立方边;
    控制台日志(“加载数据”);
    })
    app.getmenuname=函数(侧){
    如果($scope.sides==未定义){
    控制台日志(“未加载fside”+侧);
    }否则{
    log(“获取菜单窗格”+$scope.sides);
    var fside=$filter('filter')($scope.sides,函数(d){return d.side===side;})[0];
    日志(“发送:+fside.menuname”);
    返回fside.menuname;
    }
    }
    $scope.alert=函数(消息){alert(消息);}
    $scope.growpane=函数(侧){
    log(“您按下了按钮,如“+侧”);
    }
    app.showpane=功能(侧面){
    控制台日志(“加载侧:+侧);
    如果($scope.sides==未定义){
    console.log(“尚未加载”);
    }否则{
    log(“获取页面”+$scope.sides);
    var fside=$filter('filter')($scope.sides,函数(d){return d.side===side;})[0];
    库林变种=“”;
    主控台。原木(烹饪);
    返回$sce.trustAsHtml(库林);
    }
    }
    })
    
    问题是您不应该在视图中写入
    $scope
    。这适用于从控制器需要的所有内容,您永远不需要编写$scope,因为您在定义的控制器的范围内

    你的问题在这里:

     <button ng-click="$scope.alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    改为:

     <button ng-click="alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    问题是您不应该在视图中写入
    $scope
    。这适用于从控制器需要的所有内容,您永远不需要编写$scope,因为您在定义的控制器的范围内

    你的问题在这里:

     <button ng-click="$scope.alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    改为:

     <button ng-click="alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    $scope在“ng-”属性中不是必需的。试一试

    <button ng-click="alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    $scope在“ng-”属性中不是必需的。试一试

    <button ng-click="alert('I am a little thing that needs to do somethign');">Click Me</button>
    
    点击我
    
    
    ng点击测试
    
    
    ng点击测试
    
    要添加到两个答案中,即不要在视图中使用$scope…我还建议更改该函数的名称。“超控警报有点不对劲。”我征服了杜布霍夫。vrghost试图保留内置javascript函数的原始名称。老实说,我只是把按钮放在那里,看看我是否可以让ng单击以任何形式工作,因为我在任何地方都没有收到任何错误消息,我想可能是某种方式与li或a有关。这只是第一个将被使用的函数,现在它确实工作得很好。要在两个答案中添加“不要在您的视图中使用$scope”…我还建议更改该函数的名称。“超控警报有点不对劲。”我征服了杜布霍夫。vrghost试图保留内置javascript函数的原始名称。老实说,我只是把按钮放在那里,看看我是否可以让ng单击以任何形式工作,因为我在任何地方都没有收到任何错误消息,我想可能是某种方式与li或a有关。这只是将要使用的第一个,现在它确实工作得很好。