angular.js - 資料綁定問題,如何達到每過一秒更新clock.now資料的目的,顯示的一直是clock.now。這是敲書上的程式碼,問題出在哪?
漂亮男人
漂亮男人 2017-05-15 17:03:37
0
2
540
雷雷
漂亮男人
漂亮男人

全部回覆(2)
曾经蜡笔没有小新

API變化了1.3以上不允許global controller(估計你的書比較老)

可以這個簡單粗暴直接降低版本

<!doctype html>
<html ng-app>
<head>
    <script type="text/javascript" src="http://apps.bdimg.com/libs/angular.js/1.2.6/angular.js">
    </script>
</head>
<body>
<p ng-controller="MyController">
    <h1>hello {{ clock.now }}!</h1>
</p>
<script>
    function MyController($scope) {
        $scope.clock = {
            now: new Date()
        };
        var updateClock = function () {
            $scope.clock.now = new Date();
        };
        setInterval(function () {
            $scope.$apply(updateClock);
        }, 1000);
        updateClock();
    }
</script>
</body>
</html>

或這個 改成升級之後推薦的寫法

<!doctype html>
<html ng-app="app">
<head>
    <script type="text/javascript" src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.js">
    </script>
</head>
<body>
<p ng-controller="MyController">
    <h1>hello {{ clock.now }}!</h1>
</p>
<script>
    angular.module('app', [])
            .controller('MyController', ['$scope', function MyController($scope) {
                $scope.clock = {
                    now: new Date()
                };
                var updateClock = function () {
                    $scope.clock.now = new Date();
                };
                setInterval(function () {
                    $scope.$apply(updateClock);
                }, 1000);
                updateClock();

            }]);

</script>
</body>
</html>
过去多啦不再A梦

你這樣程式碼只會執行一次,應該在每次執行update的時候自動預訂下次更新才能達到每秒變化的目的。
這本書我沒看過,但我估計你的大括號抄錯了位置。
你這樣試試?

<!doctype html>
<html ng-app>
    <head>
        <script type="text/javascript" src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js">
        </script>
    </head>
<body>
    <p ng-controller = "MyController">
        <h1>hello {{ clock.now }}!</h1>
    </p>
    <script>
        function MyController($scope) {
            $scope.clock = {
                now: new Date()
            };
            var updateClock = function() {
                $scope.clock.now = new Date();
                setInterval(function() {
                    $scope.$apply(updateClock);
                }, 1000);
            };
            updateClock();
        };
    </script>
</body>
</html>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板