Я изменил свой код с представления прототипа класса es5 на представление класса es6. Но я получаю ошибку
это код до и после перехода на es6
синтаксис es5
function RoutingScreen (context) {
Object.assign(this, {route} = context)
}
RoutingScreen.prototype.onEnter = function(state) {
state.scaning = false
state.status = 'Scan to continue'
curState = states.init
};
синтаксис es6
class RoutingScreen{
constructor(context){
Object.assign(this, {route}= context)
}
onEnter(state){
state.scaning = false
state.status = 'Scan to continue'
curState = states.init
}
}
Я получаю ошибку, как это
TypeError: «установить» на прокси: ловушка вернула ложную информацию для «сканирования» свойства
но код es5 работает правильно.
Я использую узел версии 8.1.
Я не знаю, что я сделал неправильно здесь.
здесь я назвал этот метод
function setRoute (newRoute) {
var r = currentRoute()
console.log('changeRoute from ' + (r?r.route:'""') + ' to ' + newRoute)
if (r && r.route == newRoute) {
return true
}
if (!r || !r.onExit || r.onExit(state) !== false) {
stateStack.pop()
}
r = newRoute ? pushRoute(newRoute) : currentRoute()
state.session.route = r.route
return !r.onEnter || r.onEnter(state)
}
set
дляscanning
на объектеstate
? Что ты оттуда возвращаешь? - person Malice   schedule 22.08.20171
на клавиатуре. - person Malice   schedule 22.08.2017return true
в примере на stackoverflow.com/a/46273767/965666 эквивалент в вашем случае должен устранить эту ошибку, для получения дополнительной информации см. информацию о возвращаемом значении по адресу developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ - person jimmont   schedule 24.05.2018