小编chr*_*tor的帖子

Knockout订阅可观察复杂对象的任何更改

我有一个viewmodel,它包含一个observable,用对象初始化.这个对象本身包含了observables.

我的目标是在对象发生变化时通知(或者:当该对象中的任何可观察变化时)

的jsfiddle

复杂对象:

var ns = ns || {};

ns.ComplexObj = function (item) {
    var self = this;

    if (!item) {
        item = {};
    }

    self.id = item.Id || '';
    self.company = ko.observable(item.Company || '');
    self.email = ko.observable(item.Email || '');

    self.company.subscribe(function () {
       console.log('debug: company changed');
    });

    return self;
};
Run Code Online (Sandbox Code Playgroud)

视图模型

ns.mainvm = function () {
   var simpleObject = ko.observable('i am pretty simple');

   simpleObject.subscribe(function (newValue) {
       document.getElementById('simpleSubscribtionFeedback').innerText = newValue;
   });

   var complexObject = ko.observable(ns.ComplexObj());
   complexObject.subscribe(function (newValue) {
       // …
Run Code Online (Sandbox Code Playgroud)

knockout.js

27
推荐指数
1
解决办法
4万
查看次数

ASP.Net MVC5、Google OAuth 2.0 和 Youtube API

我需要一些有关 mvc 5 使用 google 登录提供程序并获取一些 youtube 数据的帮助。现在我想我把事情搞混了。我对 mvc 并不陌生,但对版本 5 的 owin 中间件功能并不陌生。好吧,并且没有实施 oauth 2.0 的经验。

我想要的是:

  • 通过 Google 登录我的 MVC5 应用程序。
  • 从登录用户那里读取一些 Youtube 信息。

到目前为止我所做的:

  • 遵循此 Google OAuth 2.0 教程:Web 应用程序 (ASP.NET MVC)
    • 通过 NuGet 安装了 Google.Apis.Auth.MVC。
    • 按所述实现 AppFlowMetadata 和 AuthCallbackController。
    • 按照描述将重定向 uri 配置为“/AuthCallback/IndexAsync”。
  • 实施了YoutubeController以下操作只是为了转储一些数据:

    public async Task<ActionResult> IndexAsync()
    {
        var result =
            await new AuthorizationCodeMvcApp(this, new AppFlowMetadata())
            .AuthorizeAsync(cancellationToken);
    
        if (result.Credential == null)
        {
            return new RedirectResult(result.RedirectUri);
        }
        else
        {
            var service = new …
    Run Code Online (Sandbox Code Playgroud)

c# youtube-api google-oauth asp.net-mvc-5

5
推荐指数
1
解决办法
3699
查看次数