AngularJS使用ng-click调用自定义对象函数

时间:2015-07-09 22:01:05

标签: javascript jquery html angularjs

我是AngularJS的新手,我仍然对调用对象的自定义方法感到困惑,如果有更懒惰的方法:

https://jsfiddle.net/f4ew9csr/3/

<div ng-app="myApp" ng-controller="myCtrl as myCtrl">
    <h1 ng-click="myCtrl.display()">Click me!</h1>
    <h2>{{ myCtrl.myValue }}</h2>
</div>

var app = angular.module('myApp', []);
app.controller('myCtrl', function() {
    var self = this;
    this.myValue = "Hello world!"
    this.display = function() {
        self.myValue = MyObject.display();
    };
});

var MyObject = new function() {

    var i = 0;

    this.display = function() {
        alert("Change h2");
        return "Hey";
    };

    this.update = function() {
        i += 1;
        return i;
    }
};

因此,当单击h1时,h2会发生变化并弹出警报。但我的问题是,我想以一种比我正确知道的更有效的方式使用ng-click调用自定义对象方法。 我怎么能用MyObject.update()运行setInterval所以它不断更改我的h2标头而没有jquery?

1 个答案:

答案 0 :(得分:1)

我建议你在你的情况下使用$ interval,它将在指定的时间间隔内调用该函数

<强>标记

<div ng-app="myApp" ng-controller="myCtrl as myCtrl">
     <h1 ng-click="myCtrl.display()">Click me!</h1>
     <h2>{{ myCtrl.myValue +' Count'+ myCtrl.count}}</h2>
</div>

<强>代码

$interval(function () {
    self.count = MyObject.update();
}, 1000)

Working Fiddle