Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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 角击_Javascript_Angularjs - Fatal编程技术网

Javascript 角击

Javascript 角击,javascript,angularjs,Javascript,Angularjs,学习AngularJS。正在尝试更改教程中的示例。需要ng init值等于从脚本函数传输的值。如何做到这一点?代码如下: <html> <body> <h2>AngularJS Sample Application</h2> <div ng-app="mainApp" ng-controller="clickController"> <p>Total clic

学习AngularJS。正在尝试更改教程中的示例。需要ng init值等于从脚本函数传输的值。如何做到这一点?代码如下:

<html>
    <body>
        <h2>AngularJS Sample Application</h2>
        <div ng-app="mainApp"  ng-controller="clickController">
            <p>Total click: {{  click.clickCounter() }}</p>
            <button ng-click="count = count+1" 
              ng-init="count=click.clickCounter()">Click Me!</button>
        </div>
        <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
        </script>
    </body>

    <script>
        var mainApp = angular.module("mainApp", []);

        mainApp.controller('clickController', function($scope) {
            $scope.click = {
                count: 15,
                clickCounter: function() {
                    var foo;
                    foo = $scope.click;
                    return foo.count;
                }
            };
        });
    </script>
</html>

AngularJS示例应用程序
点击总数:{{click.clickCounter()}}

点击我! var mainApp=angular.module(“mainApp”,[]); mainApp.controller('clickController',函数($scope){ $scope.click={ 计数:15, 单击计数器:函数(){ var foo; foo=$scope.click; 返回foo.count; } }; });

问题在于将click.clickCounter()的值转换为ng click

您的问题是您正在范围的根目录上创建一个新的
count
变量

如果
$scope.click.count
则您的计数无效,但是
ng init
ang
ng click
正在创建和更新
$scope.count

这解决了问题

<button ng-click = "click.count = click.count+1" ng-init="click.count=click.clickCounter()">Click Me!</button>
点击我!
编辑:如果在应用程序中添加
{{count}
,您将看到它正在创建的范围变量。Angular的一把双刃剑是,如果您在视图中定义了范围中不存在的变量,Angular将为您创建并将它们添加到范围中

编辑2:您的
ng init
已过时。鉴于您已经为
$范围创建了
count
属性。单击
对象,它已经初始化并具有值

另请参见小提琴:
您的问题是您正在范围的根目录上创建一个新的
count
变量

如果
$scope.click.count
则您的计数无效,但是
ng init
ang
ng click
正在创建和更新
$scope.count

这解决了问题

<button ng-click = "click.count = click.count+1" ng-init="click.count=click.clickCounter()">Click Me!</button>
点击我!
编辑:如果在应用程序中添加
{{count}
,您将看到它正在创建的范围变量。Angular的一把双刃剑是,如果您在视图中定义了范围中不存在的变量,Angular将为您创建并将它们添加到范围中

编辑2:您的
ng init
已过时。鉴于您已经为
$范围创建了
count
属性。单击
对象,它已经初始化并具有值

另请参见小提琴:

此代码应该做什么?此代码应该做什么?