只在角度模板中生成一次随机ID号

时间:2015-08-19 12:06:59

标签: javascript angularjs

我想知道页面加载后在角度模板中生成随机ID的方法。我面临的问题是,每两秒我在两个跨度中得到不同的ID。我希望它在两个地方都是一样的,不希望它每秒都改变它的价值。这是我的简单模板:

<main class="has-header has-padding">
<div id = "command">-ID:<span>{{vm.getRandomId()}}</span> -connect  -run</div>
    <hr>
<div id = "command">-ID:{{vm.getRandomId()}}</div>

我的控制员:

'use strict';

(function() {
    angular
        .module('myApp')
        .controller('myController.ctrl', myController);

    myController.$inject = ['$scope'];

    function screenSharingCtrl($scope) {
        angular.extend(this, {
            getRandomId:getRandomId
        });

        function getRandomId() {
            return Math.floor((Math.random()*6)+1);
        }
    }
})();

很抱歉,这是一个重复的问题。 任何帮助表示赞赏! 谢谢!

1 个答案:

答案 0 :(得分:1)

只需将绑定更改为

即可
{{ vm.id }}

和你的viewmodel到

function screenSharingCtrl($scope) {

        function getRandomId() {
            return Math.floor((Math.random()*6)+1);
        }

        this.id = (typeof this.id === 'undefined') ? getRandomId() : this.id; 
    }