小编kma*_*man的帖子

Angularjs - 使用指令或小部件动态更改dom?

我的目标是了解如何正确使用angularJS.我希望能够使用angularJS将选择的变量绑定到动态更改DOM结构.我不认为我完全理解角度提供的文档,我没有在这里或其他地方找到任何示例.任何帮助表示赞赏.

这个想法是我有这个用例,我首先从选择的类型开始,然后从选择的类型开始,创建适当的输入类型元素,然后用ng-model记录(例如从textareas到复选框) ,一直由angularjs控制器控制验证/限制.我已经习惯了在页面上使用可克隆元素并使用jQuery销毁和创建新元素的想法,但我一直在阅读控制器不应该有这个逻辑,而应该使用指令/小部件创建.我没有看到任何指令或小部件以这种方式被操纵的例子,但是我甚至不确定如何继续.我是否可以使用指令以这种方式操作DOM,而不仅仅是基于观察元素的多次操作?

我想做什么的例子.

$scope.types = ['Type1','Type2']

// something along the lines of...
$scope.layouts = {'Type1':['textarea','textarea'], 'Type2':['numeric','datepicker']}
Run Code Online (Sandbox Code Playgroud)

选择类型1:

  • 显示2个文本区域

选择类型2:

  • 显示数字输入
  • 显示日期选择器

谢谢,

-JR.

jquery using-directives widget angularjs

9
推荐指数
1
解决办法
2万
查看次数

如何测试grails Criteria查询?

先在这里发帖,希望与很多人有关.

我正在为域编写集成测试,在该域上我使用该withCriteria()方法进行查询.我在网上搜索过,发现很多可以给你详细说明如何模拟标准查询,但没有关于如何准确测试它.

我已经尝试使用该mockDomain(domain,list)函数模拟域,并设置一个域以供测试使用,setUp()然后调用标准,我什么也得不到.我在findBy这里做了类似的并得到了结果,但不完全是我正在寻找的.我很确定这不仅仅是我的查询,而是标准,我在几个地方读过标准在服务测试中不起作用.到目前为止,该查询在应用程序中对我有用,但我希望有一些测试,以后我可以参考,以防我的代码库发生变化.

我实际上已经完成了许多建议并提取了查询的代码并使其成为我的域中的静态方法,以便我可以为使用它的测试模拟它,但现在我仍然坚持如何实际测试这部分.我是否需要运行应用程序并从该角度进行功能测试,或者在grails单元/集成测试中是否可以通过某种方式执行此操作.我将在下面发布我的查询.

static Attribute getDefinitionsUsingCriteria(List categoryNames, List types){
        def definitions = Definition.withCriteria() {
            and {
                'in'('type', types)
                if (categoryNames) {
                    categories {
                        'in'('name', categoryNames)
                    }
                }
            }
        }
        return definitions
    }
Run Code Online (Sandbox Code Playgroud)

定义具有字符串属性类型,并且具有类型的属性类别,Set该集合中的每个元素都具有Stringname属性.

我还是刚刚接触过grails并且已经阅读了很多参考书,我很惊讶到目前为止我读过的所有书中都没有这本书.我希望这对我来说只是一个错误,并且容易测试.我感谢任何帮助,感谢阅读这篇长篇文章.

JR.

testing grails criteria

7
推荐指数
1
解决办法
4632
查看次数

如何在grails中的spock单元测试中测试方法调用和重定向的顺序?

我一直在看grails控制器方法的一些奇怪的行为,这让我想要创建一个测试用例,看看我是否可以一致地重现这个.所以,我将首先解释这个问题,以便更好地理解我的问题.

我最近有一些奇怪的行为,当调用grails方法时,它有时无法完成所有方法实现(基本上所有代码都转到服务器调用)并且过早地重定向.我可以通过我的服务方法仍然运行来看到这个,但是ui已经(有时也错误地)重定向错误.我已经尝试通过它调试,但它也引导我到相同的地方,..我将在一个服务方法,但看到已经在ui上呈现的页面.如果我能得到一个好的测试用例,我觉得这可能更容易调试.

示例控制器代码:

def blam() {
   Foo foo = Foo.get(params.id)
   String msg = service.method1(foo)
   service.method2(foo)
   service.doSomething(foo)
   redirect(action:"list", controller: "blam", params: [msg:msg, *:params])
}
Run Code Online (Sandbox Code Playgroud)

示例测试代码:下面的问题是它根本没有实际测试一个调用顺序,我想测试它是否按正确的顺序调用方法.我发现有几个例子说你可以调用多个声明,但是如果我移动方法并重新运行测试,我就不会看到差别.

def "test service call order and redirect"(){
   when:
   controller.actionMethod()

   then:
   service.method1(_) * 1
   service.method2(_) * 1
   service.doSomething(_) * 1

   then:
   response.redirectedUrl == "bam/list"   
}
Run Code Online (Sandbox Code Playgroud)

任何有关如何测试此场景的帮助将不胜感激!另外我知道这不是主要问题,但欢迎重定向的想法!(或者我应该创建一个不同的问题?)

干杯!

testing grails spock

4
推荐指数
1
解决办法
1268
查看次数