0

jQueryと組み合わせたノックアウトについて質問があります。Knockout のみを使用すると、プログラムは正常に動作しますが、jQuery にバインドするとすぐに動作しなくなります。2 ページ目は表示されません。

これは、必要なものをすべてバインドする方法です。

<script type="text/javascript" src="../../Scripts/upshot.min.js"></script>
<script type="text/javascript" src="../../Scripts/Upshot_Timeworx.js"></script>
<script type="text/javascript" src="../../Scripts/knockout-2.2.0.js"></script>
<script src="../../Scripts/jquery.mobile-1.2.0.js" type="text/javascript"></script>


var masterViewModel = {

        loginVM: ko.observable(),
        startVM: ko.observable(),
        projectStartVM: ko.observable()

    };

    var LoginVM = function () {
        //Some Code
    };

    var StartVM = function () {
         //Some Code
    };

    var ProjectStartVM = function () {
    //Some Code
    //That's how I open the next "Page"
    masterViewModel.loginVM(new LoginVM());
    ko.applyBindings(masterViewModel);

ログイン VM:

var LoginVM = function () {
            var self = this;
            self.mandant = ko.observable();
            self.user = ko.observable();
            self.password = ko.observable();
            self.showDetails = function () {

                if ((self.user() == "Gregor") && (self.password() == "gregrech")) {
                    masterViewModel.loginVM(null);
                    masterViewModel.startVM(new StartVM());
                }
                else {
                    alert("Username oder Passwort falsch");
                }

            };
        };

誰が私の問題が何であるか知っていますか?

4

1 に答える 1

0

これは機能しているように見えますが、実際に何を求めていたのかわかりません。ユーザー名/パスワードボックスをクリックしてバインドし、その機能を続行します。

User:<input type="text" data-bind="value: user"/>
Password:<input type="password" data-bind="value: password"/>
<input type="button" data-bind="click: showDetails" value="Show"/>

http://jsfiddle.net/Maslow/mmMcs/

var LoginVM = function () {
  var self = this;
  self.mandant = ko.observable();
  self.user = ko.observable();
  self.password = ko.observable();

  self.showDetails = function () {

    if ((self.user() == "Gregor") && (self.password() == "gregrech")) {
      masterViewModel.loginVM(null);
      masterViewModel.startVM(new StartVM());
    } else {
      alert("Username oder Passwort falsch");
    }

  };
};
var masterViewModel = {

  loginVM: ko.observable(),
  startVM: ko.observable(),
  projectStartVM: ko.observable()

};


var StartVM = function () {
  alert('success');
};

ko.applyBindings(new LoginVM());
于 2013-02-01T18:33:31.273 に答える