原型继承的淘汰问题

2023-11-29

我在 Knockout 中遇到了一个问题,我在原型中创建了一个用户对象,其中对象的可观察属性似乎被最后一次出现的情况覆盖。

因此我不能多次使用同一个对象,否则它将被覆盖。

虽然这很难解释,但请看我的小提琴。

http://jsfiddle.net/RSECj/1/

我究竟做错了什么? (或者这是淘汰赛中的错误?)我该如何解决这个问题。


因为可观察量是函数而不是属性,所以它们由对象原型上的单个实例表示,这与设置时在对象上创建的属性不同。

您可以使用函数继承来实现您想要的。

http://jsfiddle.net/ypWQN/1/

var User = function(firstName, lastName){
    var that = {};

    that.firstName = ko.observable(firstName);
    that.lastName = lastName;

    return that;
};


var Employee = function(firstName, lastName){
    var that = User();

    that.firstName(firstName);
    that.lastName = lastName; 

    return that;
};

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原型继承的淘汰问题 的相关文章

随机推荐

  • 如何在MainActivity中获取ViewPager创建的fragment的元素?

    我有几个片段 它们是用ViewPager 我添加一个addOnPageChangeListener to the ViewPager在 MainActivity 中onCreate给出所选片段位置的方法 尽管我通过声明防止碎片自我毁灭set
  • 使用 async/await 时 GUI 冻结

    我试图找出下面的代码有什么问题 我认为使用 async 和 wait 让我忘记 GUI 问题 例如冻结 因为一些长代码阻塞了主线程 单击按钮后 GUI 会做出响应 直到调用longRunningMethod 如下所示 private asy
  • 保护远程 mysql 连接的安全

    我的处境很不幸 必须将本地 microsoft access 数据库与远程 mysql 数据库同步 我编写了一个 php 脚本 它将每 10 分钟同步一次数据库 但我绝对担心安全问题 到目前为止 我已经使用 cpanel 设置了远程 mys
  • 'NoneType' 对象在 BeautifulSoup 中没有属性 'text'

    当我搜索 时 我试图抓取谷歌结果 什么是2 2 但返回以下代码 NoneType object has no attribute text 请帮助我实现所需的目标 text What is 2 2 search text replace l
  • 如何处理for循环中路径名中的空格?

    尝试使用当前脚本的路径 并且该路径中包含空格 但我似乎无法让它工作 C Test Directory gt dir Volume in drive C has no label Volume Serial Number is 7486 CE
  • 自动滚动到页面底部然后顶部并重复

    我创建了一个仪表板 它会回显所有行 但我想要一个自动滚动 它会慢慢地向下滚动到页面底部 然后慢慢地滚动回顶部并重复 我已经用谷歌搜索了这个 但无法获得有效的代码 我一直在寻找 jQuery 代码 但任何东西都可以 因为页面会一直调整 所以不
  • 在 C++ 中从给定的种子生成相同的随机数序列

    我正在使用 mt19937 从给定种子生成随机字符串 如下所示 std string StringUtils randstring size t length uint64 t seed static auto chrs abcdefghi
  • 单击react-native中的菜单项时如何打开页脚选项卡屏幕之一?

    我正在创建一个反应本机应用程序 现在我想在单击菜单项时打开页脚选项卡屏幕之一 在这里 我附上了我的示例屏幕 可以从中清楚地了解我的问题 这是我的 GitHub 存储库 https github com SidathDananjaya Eve
  • 使用 C++ 编程时,如何在 win32 中创建子窗口?

    我是 C 以及 Windows 编程的新手 我使用 msdn 创建了一个窗口CreateWindow 功能 其工作正常 现在我想创建一个子窗口 父窗口应该控制子窗口 任何有关此的帮助示例代码 提前致谢 粗略地说 在父级的处理程序中 您希望创
  • 数组的元素类型不完整。这是什么意思? [复制]

    这个问题在这里已经有答案了 我想创建一个数组来存储任何整数 n 的乘法值 之后 我想将该数组传递给另一个函数并打印出该数组 但是 我收到以下错误 My code 这是我的 c 文件 include multiplication h incl
  • Windows 上的 LDAP 身份验证

    我安装了 64 位 Windows 平台和 Postgresql 8 4 作为 Apache EnterpriseDB ApachePHP 安装在 Pstgres 上 我需要使用 Active Directory 或 LDAP 凭据对系统进
  • 使用 C# 从另一个表单获取值[重复]

    这个问题在这里已经有答案了 如何从一种形式获取另一种形式的值 我已经尝试过以下方法 但它不起作用 Form1 public TextBox TXT get return txtbox1 Form2 public Form1 frm txtb
  • iOS 中的 UILocalNotification 中不显示操作和类别

    我相信苹果文档中有以下内容here我只需要一个类别UILocalNotification BOOL application UIApplication application didFinishLaunchingWithOptions NS
  • Heroku 项目中带有 Python 模块的 Node 应用程序未安装

    我有一个部署到 Heroku 的 Node Express 服务器 项目 运行良好 但我编写了一个小型 Python 模块 不需要服务器或新的 Heroku 实例 但它需要从 pip 安装一些第 3 方包 我的问题是 虽然 Python 似
  • 如何修复“pandas.core.common”没有属性“AbstractMethodError”?

    我想看看 pandas 对象可用的方法 当我运行此代码时 出现 AttributeError 错误 我已经搜索过 但没有找到此错误的示例或如何修复它 for i in df jobs groupby group failed failed
  • 如何使用 Selenium WebDriver 和 Java 将鼠标悬停在 Web 元素上

    如何使用 Selenium Webdriver 执行鼠标悬停功能 测试用例就像是说 打开雅虎网站 登录旁边有链接 邮件 鼠标悬停时 它将显示工具提示 当我尝试下面的代码时 鼠标不是悬停在确切的位置 而是悬停在其他地方 我哪里出错了 另外让我
  • Java错误:无法对非静态方法进行静态引用

    我正在编写一个 Android 应用程序并收到此错误 但我不知道为什么 有人可以帮助我理解为什么我会收到此错误吗 Cannot make a static reference to the non static method updateS
  • 具有已定义迭代器的 C# for 循环

    我想使用已经定义的迭代器创建一个循环 目前我正在使用 int i while i lt 10 Console Writeline i i 这很丑陋 因为其他人稍后可能会删除 i 如果它和 while 语句被一大块代码隔开 就不清楚它的用途了
  • Android Studio 使用 Java 8 而不是 11

    我尝试导入的应用程序中的 gradle 版本与 JDK11 不兼容 而 android studio 使用 JDK11 作为其嵌入式 JDK 我的机器上有 JDK8 我尝试进入项目结构来更改 JDK8 位置的路径 但如果尝试更改它 则会出现
  • 原型继承的淘汰问题

    我在 Knockout 中遇到了一个问题 我在原型中创建了一个用户对象 其中对象的可观察属性似乎被最后一次出现的情况覆盖 因此我不能多次使用同一个对象 否则它将被覆盖 虽然这很难解释 但请看我的小提琴 http jsfiddle net R