让图像我们有两个元素列表,其中每个元素本身都是一个指令。
#include <iostream>
using namespace std;
int main() {
int c = 1;
while (c< 10){
cout << c <<"|";
c++;
int i=1;
while (i< 10){
cout << i * c << '\t';
i++;
}
cout << endl;
}
cin.clear();
cin.ignore();
cin.get();
return 0;
}
我想将列表2中的元素“Y”移动到列表1 而不重新初始化指令。因此,我想简单地将内容/指令从列表2移动到列表1。
我做了一个简单的例子来说明我的意思:http://jsfiddle.net/HB7LU/24171/
从示例中可以看出,控制台在移动元素后再次打印'init:Y'。但我不希望这样。我只是想让它感动。
如何在不重新初始化指令的情况下执行此操作?
template.html
List 1:
- A
- B
- C
List 2:
- X
- Y
- Z
app.js
<div ng-controller="MyCtrl">
<h2>List 1:</h2>
<ul>
<li ng-repeat="entry in list1">
<span my-directive="entry"></span>
</li>
</ul>
<h2>List 2:</h2>
<ul>
<li ng-repeat="entry in list2">
<span my-directive="entry"></span>
</li>
</ul>
<button ng-click="move()">
Move 'Y' to List 1
</button>
</div>
答案 0 :(得分:0)
由于您的指令在dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay))) {
// step one
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay))) {
// step two
...
}
}
内部使用,因此每个项目的添加都会创建一个新的范围,因此每次都会初始化指令控制器。但是,您可以反过来执行此操作,即将列表绑定到指令并在模板中进行ng-repeat。请参阅Updated Fiddle。如果这对您有用,请告诉我。