繁体   English   中英

JavaScript原型未添加方法

[英]Javascript Prototype not adding method

我的应用程序中包含以下代码:

app.factory('User', ['railsResourceFactory', '$http', function (railsResourceFactory, $http) {
    var res = railsResourceFactory({url: '/users', name: 'user'});

    res.prototype.hello = function () {
        return "hello";

    };

    debugger;

    return res;
}]);

我正在使用angularjs-rails-resource gem 当我在chrome中点击调试器,然后在控制台中键入以下内容:

res.hello()

我得到:

TypeError: Object function RailsResource(value) { angular.extend(this, value || {}); } has no method 'hello'

我不确定为什么会这样。 我有点新的javascript,所以我可能从根本上不了解Prototype。 也许这可能是角度或导轨问题。

谢谢

prototype属性仅对函数可用。问自己的第一个基本问题是,

railsResourceFactory({url: '/users', name: 'user'});

返回一个函数/构造函数? 不,不是的。 它返回一个资源对象。 如果您使用的是经典的OOP语言,那么只需说一下prototype属性仅对类可用,而在对象中不可用。如果您仍然希望能够访问当前正在处理的对象的原型,则可以访问通过调用它

object.constructor.prototype

因此,您可以通过致电实现您要实现的目标

res.constructor.prototype.hello= function () {
        return "hello";

    }; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM