如何以角度方式进行WinJS事件?

时间:2016-04-05 11:44:33

标签: angularjs win-universal-app windows-10 winjs

这里有一个很好的项目,可以将Angular与WinJS控件一起使用:https://github.com/winjs/angular-winjs。我已经在我的应用程序中很好地工作了。然而,它并没有真正涵盖WinJS其他部分的角度使用。

我开始使用Windows 10手机,我的代码如下:

 var app = WinJS.Application; 
 var activation = Windows.ApplicationModel.Activation; 
 app.onactivated = function (args) { 

如何修改我的app.onactivated分配以角度方式执行操作,以便我可以使用$ providers并修改$ scope变量等等?

1 个答案:

答案 0 :(得分:1)

$提供商你的意思是角度提供的服务(如$ http,$ location等)?

如果是这样,你可以在控制器回调定义函数内部放置onactivated方法(见下面的代码),以便它可以使用角度服务。

JS:

(function () {
"use strict";

var app = WinJS.Application;
var activation = Windows.ApplicationModel.Activation;
var myApp = angular.module("myApp", ["winjs"]);
var myController = myApp.controller("myController", function ($scope) {
    app.onactivated = function (args) {
        if (args.detail.kind === activation.ActivationKind.launch) {
            if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
                $scope.$apply(function () {
                    $scope.test = "The Scope.test has been changed!";
                });
            }
        args.setPromise(WinJS.UI.processAll());
        }
    };
});
app.start();
})(angular);

HTML:

<body class="win-type-body" ng-app="myApp">
<div ng-controller="myController">
<input type="text" ng-model="test"/>
   {{test}}
</div>

如果不是这样,你能告诉我$提供商是什么?