我刚刚尝试过reopenClass()
,但看到坚持认为它没有这些功能extend()
,我有点惊讶。Em.String
我也尝试过reopen()
,但以同样的方式失败了。
如果不需要,我不想使用原型,因为我想保持Ember 方式
我刚刚尝试过reopenClass()
,但看到坚持认为它没有这些功能extend()
,我有点惊讶。Em.String
我也尝试过reopen()
,但以同样的方式失败了。
如果不需要,我不想使用原型,因为我想保持Ember 方式
Ember.String
只是带有几个实用函数的哈希,请参见此处https://github.com/emberjs/ember.js/blob/v1.0.0-rc.4/packages/ember-runtime/lib/system/string.js# L24。Ember 扩展了String.prototype
添加这些实用功能。
我猜你除了扩展原版以获得 ember 未提供的额外功能外别无他String.prototype
法,你的功能将与 ember 一起使用。
来自文档的注释:定义字符串辅助方法,包括字符串格式化和本地化。除非 Ember.EXTEND_PROTOTYPES.String 为 false,否则这些方法也将添加到 String.prototype 中。
希望能帮助到你
EmberString.prototype
在此时扩展至最新提交 - https://github.com/emberjs/ember.js/blob/632191f09770113cdc84ffd6e080315ab57c3f65/packages/ember-runtime/lib/ext/string.js#L21
插入的所有函数String.prototype
都是硬编码的,所以添加任何东西Ember.String
都不会被Ember.js添加String.prototype
,所以唯一的方法是自己直接向字符串添加方法。