我有这个对象:
{
"id": "eb533cd0-fef1-48bf-9fb8-b66261c9171b" ,
"errors": [
"error1" ,
"error2"
]
}
Run Code Online (Sandbox Code Playgroud)
我只想在错误数组中添加一个新错误.我试过了:
r.db('test').table('taskQueue').get("eb533cd0-fef1-48bf-9fb8-b66261c9171b").update({'errors': r.row['errors'].append('appended error')})
Run Code Online (Sandbox Code Playgroud)
但这没用.它给出了这个错误:"TypeError:r.row.errors未定义"
我的问题是如何追加数组?
情况:
我正在制作一个角度应用,我必须使用ui-select:在用户信息页面中,在选择中必须可以选择一个或多个标签.它几乎正常工作,除了我有问题得到并显示预先存在的标签.
代码:
视图:
<ui-select multiple ng-model="info_data.tags" theme="bootstrap" ng-disabled="disabled">
<ui-select-match placeholder="Select tag...">{{$item.name}} </ui-select-match>
<ui-select-choices repeat="tag in all_tags | propsFilter: {name: $select.search}">
{{tag.name}}
</ui-select-choices>
</ui-select>
<p>Selected: {{info_data.tags}}</p>
Run Code Online (Sandbox Code Playgroud)
控制器:
$http({
url: base_url + 'main/db_get_all_tags',
method: "POST",
}).success(function (data) {
$scope.all_tags = data;
});
$scope.show_info = function() {
var result_info = DbService.get_info( $stateParams.db_data_id );
result_info.then( function( data )
{
$scope.info_data = data;
});
};
Run Code Online (Sandbox Code Playgroud)
ATTEMPT 1:
它发生了一种非常奇怪的行为.我没有在用户的信息页面中看到标签,甚至在ui-select中也看不到.除非刷新5/6次,否则突然它会神奇地工作,在用户信息页面和ui-select中显示标签.在这两种情况下,工作与否,我得到几个相同类型的错误消息:
无法读取未定义的属性"长度".
ATTEMPT 2:
为了解决这个问题,我在控制器中添加了这个代码:
$scope.info_data = { tags: [] };
$scope. all_tags = [];
Run Code Online (Sandbox Code Playgroud)
而且我不再收到任何错误消息.该应用程序是稳定的,我可以在用户信息页面中看到正确的标签.唯一的问题是标签不再在ui-select中加载.
如果我选择一个新标签然后它工作正常,但我松开了预先存在的标签. …
这是我在角度ui-select中得到的完整错误
Error: [$interpolate:interr] Can't interpolate: {{$select.getPlaceholder()}} TypeError: Cannot read property 'length' of undefined
Run Code Online (Sandbox Code Playgroud)
我的标记是:
<ui-select multiple ng-model="case.keywords" theme="bootstrap">
<ui-select-match placeholder="Select keywords...">{{$item.name}}</ui-select-match>
<ui-select-choices repeat="keywords in keywords | filter: $select.search">
<div ng-bind-html="keyword.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<p>Selected: {{case.keywords}}</p>
Run Code Online (Sandbox Code Playgroud)
除了get来自db的关键字数组之外,控制器没什么特别之处.显然ngSanitize,ui.select它包含在模块依赖项中.
我遇到的另一个问题是选择不可见.我能够显示所选的,但选项列表不可见.我正在使用bootstrap主题,select.css被引用.这是它的样子

谢谢您的帮助.
在angular-ui-tree中,我正在寻找一种在可拖动节点内部建立链接的方法.
现在发生的事情是当我点击节点内的链接时,它开始"抓住"整个节点来拖动它.
我看到了这个答案Angular JS(angular-ui-tree)ng-click冲突vs拖动开始事件,但它与我想要做的并不相似.在这个答案ng-click绑定到节点,在我的情况下,我在节点内有多个链接.
下面是我的html:
<div ui-tree="treeOptions" drag-delay="1000" id="tree-root">
<ol ui-tree-nodes ng-model="filteredModules" data-nodrop>
<li ng-repeat="module in filteredModules" ui-tree-node>
<div ui-tree-handle ng-click="toggle(this)">
<a class="btn btn-xs"><span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed, 'glyphicon-chevron-down': !collapsed}"></span></a>
{{module.name}}
</div>
<ol ui-tree-nodes ng-model="module.stages" data-nodrop ng-class="{hidden: collapsed}">
<li ng-repeat="stage in module.stages" ui-tree-node>
<div ui-tree-handle ng-click="toggle(this)">
<a class="btn btn-xs"><span class="glyphicon" ng-class="{'glyphicon-chevron-right': collapsed, 'glyphicon-chevron-down': !collapsed}"></span></a>
{{stage.name}}
</div>
<div ui-tree-nodes ng-model="stage.cases" ng-class="{hidden: collapsed}">
<div ng-repeat="case in stage.cases" ui-tree-node>
<div ui-tree-handle>
<!-- HERE I HAVE TWO LINKS --> …Run Code Online (Sandbox Code Playgroud)