繁体   English   中英

在中继器中按模型将密钥发送到元素

[英]send keys to element by model in repeater

按照以下示例: 量角器在转发器数组中按模型获取元素 ,我遇到了一个头刮刀。 我想将输入值发送到转发器内部的元素。 希望这是一个简单的解决方案!

我的HTML看起来与此类似。 主要区别是“ posts”和“ user.posts”。

<tr ng-repeat="post in user.posts">
    <td ng-click="activePost(post)" class="title">{{post.title}}</td>
    <td><button class="btn btn-danger" ng-click="delete(post)">Delete</button></td>
  <td><input type="text" ng-model="post.subtitle" 
        id="{{post.id}}" /></td>
 </tr>

然后按照示例,我写了这样的东西:

element.all(by.repeater('post in user.posts')).then(function(posts) {
   var activePost = posts[0].element(by.model('post.subtitle'));
   activePost.sendKeys('My post');
});

量角器测试在“ activePost.sendKeys('我的帖子')”处失败,出现以下错误:

NoSuchElementError: No element found using locator:  
by.model("post.subtitle"). 
Stacktrace:
         NoSuchElementError: No element found using locator: by.model("post.subtitle")
        at Array.forEach (native) Error
        at /Users/.../e2e/spec.js:51:17
        at Array.forEach (native) From: Task: Asynchronous test function: it() Error
        at [object Object].<anonymous> (/Users/.../e2e/spec.js:32:3)
        at Object.<anonymous> (/Users/.../e2e/spec.js:2:1)

有人会对我可以尝试的内容有任何建议或以其他方式思考它吗? 谢谢!

答案:量角器引发的错误与转发器完全无关,但与视图中缺少的结尾div标签无关。 有时候不是很奇怪吗? 去搞清楚。

这里不需要解析承诺,只需要链接elementelement.all()

var elm = element.all(by.repeater('post in user.posts')).first().element(by.model('post.subtitle'));
elm.sendKeys('My post');

请注意,我在这里使用first()


注意,一个简单的by.tagName()定位器也可以在这里工作:

var elm = element.all(by.repeater('post in user.posts')).first().element(by.tagName('input'));
elm.sendKeys('My post');

暂无
暂无

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

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