簡體   English   中英

在angularjs控制器中定義的函數的函數未定義錯誤

[英]Function not defined error for a function that's defined inside an angularjs controller

我瀏覽了其他“功能未定義”問題,但似乎找不到適合我的用例的問題。 我正在使用angular.js。

我最初有一個空的div,即#mylist,我正在js中動態填充它。 我在控制器中定義了一個函數,該函數分配給復選框的onChange事件。

這是完整的文檔:

<!doctype html>
<html data-ng-app="testapp">
<head>
    <script src="jquery-1.10.2.min.js"></script>
    <script src="angular.min.js"></script>
    <script>
        var app = angular.module("testapp", []);        
        app.controller("MyAppController", function ($scope) {
            createCheckbox();

            function doSomething() {
                alert("hello!");
            }

            function createCheckbox() {
                $("#mylist").html("<input type='checkbox' onChange='javascript:doSomething();' />");
            }       
        });
    </script>
</head>

<body data-ng-controller="MyAppController">
    <div id="mylist"></div>
</body>
</html>

運行時,單擊復選框將導致函數未定義錯誤。

我在這里想念什么? 謝謝。

<!doctype html>
<html data-ng-app="testapp">
<head>
    <script src="jquery-1.10.2.min.js"></script>
    <script src="angular.min.js"></script>
    <script>

var app = angular.module("testapp", []);

app.controller("MyAppController", function ($scope) {
    $scope.someProperty = true;


    $scope.$watch("someProperty", function (someProperty){
       alert("hello!"+someProperty)
     });
});

    </script>
</head>
<body data-ng-controller="MyAppController">
    <div id="mylist"><input type="checkbox" ng-model="someProperty"/></div>
</body>

</body>
</html>

http://jsfiddle.net/y6XhY/

如果使用AngularJs,則最好在控制器范圍內定義函數。$ scope的字段可以是您的函數,可以使用ngChange指令代替onChange (僅需在該輸入上設置ngModel)。

$scope.doSomething = function() {
    alert("hello!");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM