我是一个新手AngularJS,和我刚开始理解的概念和区别factory
,service
和controller
.据我所知,a factory
用于返回可以注入的"值对象".我见过的大多数例子都是这样的:
angular.module('module.factories', function() {
factory('FactoryObject', function() {
return {
someFunction: function(someParam) {};
someOtherFunction: function(someOtherParam) {});
};
});
});
Run Code Online (Sandbox Code Playgroud)
在我controller
,我希望能够使用这个对象,但我想在控制器中初始化/实例化它,因为它可以根据控制器中的事件/动作重新初始化.因此,我想知道我是否可以在工厂中返回构造函数?
angular.module('module.factories', function() {
factory('FactoryObject', function() {
function FactoryObject(initParam) {
}
FactoryObject.prototype.someFunction = function() {};
return FactoryObject;
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个角度工厂的合适模式吗?或者将工厂用于这样的自定义对象只是"过度杀伤"?我应该将它包含在库js文件中并从那里引用它吗?将它放入工厂的一个好处是可以很容易地在测试中模拟它,因为它将被注入到使用它的地方.是否可以使用Angular中的其他任何机制?
是否可以使用Mongoose一次性在(子)文档上设置多个属性?我正在尝试做的一个例子:
假设我有这个架构:
var subSchema = new Schema({
someField: String,
someOtherField: String
});
var parentSchema = new Schema({
fieldOne: String,
subDocs: [subSchema]
})
Run Code Online (Sandbox Code Playgroud)
然后我想做:
exports.updateMyDocument = function(req, res) {
var parentDoc = req.parentDoc; // The parent document. Set by parameter resolver.
var document = req.myDoc; // Sub document of parent. Set by parameter resolver.
var partialUpdate = req.body; // updated fields sent as json and parsed by body parser
// I know that the statement below doesn't work, it's just an …
Run Code Online (Sandbox Code Playgroud) 我正在用MonoTouch编写一个iOS应用程序,它与UIWebView进行一些javascript交互.出于调试目的,能够console.log
在UIWebView中运行的javascript中与应用程序输出的其余部分一起"捕获"将是很好的.这可能吗?使用常规Objective-C代码的示例也可以.
我正在尝试在OSX上设置一个maven项目,并使用它rpm-maven-plugin
来构建它作为RPM包.但是,即使最简单的插件配置似乎也失败了.我得到的错误是Bad exit status from /usr/local/Cellar/rpm/5.4.10/var/tmp/rpm-tmp.50667 (%install)
.详细输出不会提供太多信息.生成的spec文件如下所示:
Name: server
Version: 1.0
Release: SNAPSHOT20130920084527
Summary: MySummary
License: 2013 MyCompany
Distribution: MyDistribution
Group: Application/SomeGroup
Packager: me
autoprov: yes
autoreq: yes
Prefix: /app/theapp
BuildRoot: /Users/me/Projects/projectname/server/target/rpm/server/buildroot
%description
My Description
%install
if [ -e $RPM_BUILD_ROOT ];
then
mv /Users/me/Projects/projectname/server/target/rpm/server/tmp-buildroot/* $RPM_BUILD_ROOT
else
mv /Users/me/Projects/projectname/server/target/rpm/server/tmp-buildroot $RPM_BUILD_ROOT
fi
%files
%defattr(644,-,-,755)
"/"
Run Code Online (Sandbox Code Playgroud)
构建RPM的命令是 /usr/local/bin/rpmbuild -vvv -bb --target noarch --buildroot /Users/me/Projects/projectname/server/target/rpm/server/buildroot --define '_topdir /tmp' server.spec
我不确定它是OSX问题还是一般的rpm-maven-plugin问题,但我怀疑它是OSX问题,因为我在其他平台上使用rpm-maven-plugin构建RPM.
有没有其他人成功使用过rpm-maven-plugin
OSX?
编辑
我正在使用rpm-maven-plugin
2.1-alpha-3,OS X 10.8.4并通过自制软件安装rpm.我还验证了相同的配置适用于CentOS Vagrant盒子.
希望你能提供帮助,因为据我所知,这是正确的设置(但请证明我错了).
我的spring 3 mvc项目配置如下:
web.xml中
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/frontPage</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/myServlet-service.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Run Code Online (Sandbox Code Playgroud)
和myServlet-servlet.xml
<mvc:annotation-driven />
<context:component-scan base-package="my.path.to.controllers" />
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>
Run Code Online (Sandbox Code Playgroud)
我在WEB-INF(不是WEB-INF/views)中有一个index.jsp,除了说"Hello"之外什么也没做(我原本试图让它转发到/ frontPage).
现在,如果我输入控制器的url(localhost:8080/myServlet/frontPage),控制器就会工作并显示视图,但是当我第一次启动时,我得到的是404而不是index.jsp页面.我已经尝试为index.jsp添加一个前导斜杠,但这没有任何区别.
我必须在某个地方犯过一个小学生的错误,但我不能为我的生活看到哪里.谁有人能指出它?
Spring MVC 3.2 Tomcat 6在STS 2.9.1 servlet 2.5中运行
非常感谢.
除了Cluster MBean之外,是否有可以在Akka(Java)中启用的内置JMX公开监视/统计信息?我查看了Typesafe控制台,但由于它需要使用许可证来收集来自多个节点的数据,我希望能够通过普通的JMX实现相同的功能.我已经检查过Akka文档而没有任何关于这个主题的运气.
可以说我有
class Person {
String Age;
String Name;
}
Class Employee {
int Salary;
String Name;
}
Run Code Online (Sandbox Code Playgroud)
我在列表中有这些类的各种实例.我已经建立,其接受2个独立的功能List<Person>
和List<Employee>
和显示的内容.但我想创建一个通用函数,它接受任何对象的List并执行显示部分.
请帮我
谢谢Sunny
我有一个像"| aaaaaaaaaaaaaaa | aaaaaaaaaa | aaaaaaaaaaaaa"的字符串......现在我只想删除字符"|" 并用"/ n"替换它们.
我尝试了这些失败:
function removeSeperator(str){
str = str.replace('|', "\n");
return str;}
function removeSeperator(str){
var rs="";
var i = 0;
for(i=0;i<str.trim().length;i++){
if(str[i]=="|"){
rs += str.substring(0, i) + "/n";
str = str.substring(i+1);
}
}
return rs;}
Run Code Online (Sandbox Code Playgroud)
我必须在纯JavaScript上执行此操作,不允许使用jquery.