나는 엠버 (ember)를 처음 접했고, 나의 액션 중 하나에서 별도의 액션 (셔플로 표시)을 사용하고 싶습니다. 내가 여기서 뭔가 잘못하고 있다는 것을 알고, 셔플 방법은 실제로 아무것도하지 않습니다. 나는 그것을 잘못 부르고 있습니까, 아니면 다른 행동에 의해 사용되어서는 안되는 행동입니까? 여기에 코드입니다 :컨트롤러 내부에서 작업을 사용 하시겠습니까?
import Ember from 'ember';
export default Ember.Controller.extend({
taskData: [],
personData: [],
taskIn: ' ',
personIn: ' ',
actions: {
saveTask() {
const task = this.get("taskIn");
this.taskData.push(task);
},
savePerson()
{
const person = this.get("personIn");
this.personData.push(person);
},
print(){
var taskString;
//this.taskData.remove(0);
for(var i = 0; i < this.taskData.length; i++)
{
taskString = taskString + this.taskData[i];
}
alert(taskString);
//alert(this.personData);
},
shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
},
//algorithm to match up tasks with people
assign(){
var newTaskD = this.shuffle(this.taskData);
var newPersonD = this.shuffle(this.personData);
var taskString = '';
var peopleString = '';
for(var i = 0; i<newTaskD.length; i++)
{
taskString += " " + newTaskD[i];
}
for(var j = 0; j<peopleString.length; j++)
{
peopleString += " " + newPersonD[j];
}
alert(peopleString);
alert(taskString);
}
}
});
인터페이스가 '셔플'동작을 트리거해야합니까? 아니면 적어도 하나의 액션을 호출해야하는 메소드를 설정하려고합니까? –
나는 후자를하려하고있다. – jvangore31