【问题标题】:Cannot read property 'router' of undefined and ko is not defined in knockout JS无法读取未定义的属性“路由器”,并且在淘汰赛 JS 中未定义 ko
【发布时间】:2014-03-28 20:11:21
【问题描述】:

我正在为 Durandal 学习 Knockout js 和包。 在阅读本教程时 http://learn.knockoutjs.com/#/?tutorial=intro

我遇到了一些错误//

这是我的viewmodel js文件代码--

    function AppViewModel() {
    this.firstName = "Bert";
    this.lastName = "Bertington";
}

// Activates knockout.js
ko.applyBindings(new AppViewModel());

这是我的视图html文件代码-

<p>First name: <strong data-bind="text: firstName"></strong></p>
<p>Last name: <strong data-bind="text: lastName"></strong></p>

我得到的错误 -

我已尝试解决这些错误 - 我已在我的代码中定义 ko..

define(function (require) {
  var app = require('durandal/app'),
      ko = require('knockout');

function AppViewModel() {
        this.firstName = "Bert";
        this.lastName = "Bertington";
    }

    // Activates knockout.js
    ko.applyBindings(new AppViewModel());

});

我正在关注一些教程。但我面临一些基本的影响。可能这些错误将是非常基本的,但我需要一些帮助..

谢谢!!

【问题讨论】:

  • 请展示你的 requirejs 引导文件。
  • 如果您使用的是 durandal,则无需使用 ko.applyBindings。
  • akhlesh 在说什么...请注意,将 KnockoutJS 教程与 Durandal 代码结合起来并不是最好的主意,因为您可能在 Knockout 方面还不够先进,还没有完全掌握 Durandal 是什么正在做。此外,查看 RequireJS 和揭示模块模式,以更好地了解使用 Durandal/Require 使用模式创建代码。
  • 是的.. @akhlesh 我正在使用 Durandal..
  • @akhlesh 我所理解的.. 如果我使用 durandal,则无需使用该代码.. 我可以直接返回值..

标签: javascript jquery knockout.js requirejs durandal


【解决方案1】:

这应该可以工作

define(['plugins/router', 'knockout', 'services/logger', 'durandal/app'], function (router, ko, logger, app) {

    var AppViewModel = {
            firstName : ko.observable("Bert"),
            lastName : ko.observable("Bertington")
        }

        // Activates knockout.js
        return AppViewModel;

});

或者这个

define(['plugins/router', 'knockout', 'services/logger', 'durandal/app'], function (router, ko, logger, app) {
    var AppViewModel = function () {
        this.firstName = "Bert";
        this.lastName = "Bertington";
    }

    // Activates knockout.js
    return new AppViewModel();
});

【讨论】:

    猜你喜欢
    • 2017-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 1970-01-01
    • 2020-05-22
    • 2013-11-09
    • 1970-01-01
    相关资源
    最近更新 更多