2015-09-08 3 views
2

У меня есть следующие зулZK - org.zkoss.util.IllegalSyntaxException: разрешить только одну строку @command

<?xml version="1.0" encoding="UTF-8"?> 
<zk> 
    <window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('MyViewModel')"> 
     <button onClick="@command('myCommand', value='myValue')" /> 
    </window> 
</zk> 

с кнопкой, внутри которого называет command внутри модели представления, проходящей параметр называется значение

страница возвращает следующую ошибку:

org.zkoss.util.IllegalSyntaxException: only allow one string of @command,but contains ['myCommand', 'myValue' 

ZK версия: 7.0.4

ответ

1

Пожалуйста, есть посмотрите ниже код, пожалуйста, удалите '' из аргумента, который он будет работать

<button label="MyButton" onClick="@command('myCommand', somevalue=myValue)"/> 

Вот несколько примеров из документов

<button label="Save" onClick="@command('saveOrder')" /> 

<button label="Delete" onClick="@command(empty vm.selected.id?'deleteOrder':'confirmDelete')" /> 

<button label="Index" onClick="@command('showIndex', index=10, keyword='myKeyword')"/> 

Больше информации вы можете найти

Notice that value is a reserved word, you should avoid to use it as an arbitraryKey.

books.zkoss.org/zk-mvvm-book/8.0/syntax/databindingcommand.html

+0

Nope: 'org.zkoss.util.IllegalSyntaxException: только позволяют одной строки @command, но содержит ['myCommand', myValue] ' – AlexGreg

+0

Какую версию вы используете –

+0

Да, справа: 7.0.4 – AlexGreg

-1

Проблема - это имя параметра, переданного команде. value является зарезервированным словом для выражения @command.

Таким образом, решение здесь, чтобы переименовать имя параметра из value к чему-то еще

EDIT:

@Subodh Joshi нашел article, где указывает, что value зарезервированное слово