据我了解,当在工厂内部时,我返回一个被注入控制器的对象.在服务内部时,我正在处理使用的对象this
而不返回任何内容.
我假设服务总是单例,并且每个控制器都会注入一个新的工厂对象.然而,事实证明,工厂对象也是单身人士?
用于演示的示例代码:
var factories = angular.module('app.factories', []);
var app = angular.module('app', ['ngResource', 'app.factories']);
factories.factory('User', function () {
return {
first: 'John',
last: 'Doe'
};
});
app.controller('ACtrl', function($scope, User) {
$scope.user = User;
});
app.controller('BCtrl', function($scope, User) {
$scope.user = User;
});
Run Code Online (Sandbox Code Playgroud)
当改变user.first
的ACtrl
事实证明,user.first
在BCtrl
也发生了变化,比如User
是一个单身?
我的假设是在一个带有工厂的控制器中注入了一个新实例?
是否可以使用我自己的特定列表扩展通用列表.就像是:
class Tweets<Tweet> extends List<T>
Run Code Online (Sandbox Code Playgroud)
如果我想用自己的构造函数构造,构造函数将如何显示:
Datasource datasource = new Datasource('http://search.twitter.com/search.json');
Tweets tweets = new Tweets<Tweet>(datasource);
Run Code Online (Sandbox Code Playgroud)
那么如何调用父构造函数,因为这不是在扩展类中完成的?
可能重复:
从扩展类中获取类名
假设我有以下内容:
class Foo
{
public $name;
public __construct()
{
$this->name = __CLASS__;
}
}
class Bar extends Foo
{
}
class FooBar extends Foo
{
}
$bar = new Bar();
echo $bar->name; // will output 'Foo', but I want 'Bar'
$foobar = new FooBar();
echo $foobar->name; // will output 'Foo', but I want 'FooBar'
Run Code Online (Sandbox Code Playgroud)
有没有办法获取构造类的名称,而无需在扩展类中设置名称,例如在类Foo中设置名称?
注意:我有很多来自Foo的分类,在每个派生类中设置名称会有很多编码.
我只是喜欢AngularJs。我所有的项目都用netbeans编写,我想坚持使用netbeans。我在网上搜索了一个支持netbeans中的AngularJs的插件,但是没有运气。
有一个插件,但似乎无法正常工作,或者我无法使其正常工作。
我不是在寻找完整的插件,如果我能摆脱编辑器中的警告,我会感到满意的。
我的问题: