Angular.js,从angular外部调用方法后更新视图

时间:2014-08-31 08:46:03

标签: javascript angularjs qt

我正在创建Qt / Webkit混合应用程序,我想在视图框架中使用angular。我在调用QT槽后刷新角度视图有问题。这是我的JS代码:

(function(){

var AkriviaStoreApp = angular.module('AkriviaStoreApp', []);


AkriviaStoreApp.controller('StatesController', function () {

    var this_SC = this;

    function updateStates(passed_object) {
        this_SC.states= passed_object.states;
        this_SC.test = 'oczko';
        this_SC.$apply();
    }

    QtStatesJsController.requestFinished.connect(this, updateStates);

    this.states =  [{Book : {name : "Ladne"}, State: {price: "21:09"}}];
    this.test = "nosek";

});

})();

HTML视图保持初始化状态。 Qt正在调用 updateStates()正确,我检查了console.log并且数据似乎没问题。我做错了吗?

1 个答案:

答案 0 :(得分:1)

据我所知,控制器本身没有$apply()方法,$scope方法。因此,请尝试注入$scope来调用其$apply()方法。

这样的事情:

(function(){

    var AkriviaStoreApp = angular.module('AkriviaStoreApp', []);


    AkriviaStoreApp.controller('StatesController', function ($scope) {

        var this_SC = this;

        function updateStates(passed_object) {
            this_SC.states= passed_object.states;
            this_SC.test = 'oczko';
            $scope.$apply();
        }

        QtStatesJsController.requestFinished.connect(this, updateStates);

        this.states =  [{Book : {name : "Ladne"}, State: {price: "21:09"}}];
        this.test = "nosek";

    });

})();