我有一个这样的例子:
With MyDatabase
For Each MyQueryDef In CurrentDb.QueryDefs
If MyQueryDef.Name = "tmpOutQry" Then
.QueryDefs.Delete ("tmpOutQry")
Exit For
End If
Next
Set MyQueryDef = .CreateQueryDef("tmpOutQry", strSQL)
End With
我想在我的脚本中将ng-repeat更改为其他内容(例如foo到foo2),当我执行某些操作时(例如,单击按钮)。 有可能吗?
非常感谢你的帮助!
答案 0 :(得分:2)
我想在我的脚本中将ng-repeat更改为其他内容(例如foo到foo2),当我执行某些操作时(例如,单击按钮)。有可能吗?
否强>
AngularJS解析ng-repeat
指令值并期望模式item in collection
但是你可以替换你迭代的列表。
<div id="test" ng-repeat="item in foo()">
其中foo()
可能是返回对象数组的方法
但是可以动态地用foo2()更改函数foo()吗?
您可以将方法foo()
编写为:
$scope.foo = function(){
if($scope.clicked){
return array1;
}
alse{
return array2;
}
}
var expression = $attr.ngRepeat;
var ngRepeatEndComment = $compile.$$createComment('end ngRepeat', expression);
var match = expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);
if (!match) {
throw ngRepeatMinErr('iexp', 'Expected expression in form of \'_item_ in _collection_[ track by _id_]\' but got \'{0}\'.',
expression);
}
模式是:
/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/
^^^
答案 1 :(得分:1)
您可以重复filesystem
并在点击按钮时毫无问题地进行更改。它使用你想要重复的两个数组之间的第三个变量。
<强> Plunkr 强>
foo
<div ng-controller="ctrl">
<div ng-repeat="x in choice">{{x}}</div>
<button ng-click="switch()">Switch</button>
</div>