Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sapui5 SAP UI5:无法在xml中绑定控制器变量_Sapui5 - Fatal编程技术网

Sapui5 SAP UI5:无法在xml中绑定控制器变量

Sapui5 SAP UI5:无法在xml中绑定控制器变量,sapui5,Sapui5,单击要更改变量的按钮: <f:content> <Button icon="sap-icon://edit" press="editClick" type="Transparent"></Button> </f:content> 看起来你什么都没试过,但我会尽力引导你: 您不能简单地在控制器中声明一个变量,然后在视图中使用它。UI5不是这样工作的。而是创建一个模型并将其绑定到视图。我还为我的模型命名,在本例中为“视图”: 然后在你的视图

单击要更改变量的按钮:

<f:content> 
    <Button icon="sap-icon://edit" press="editClick" type="Transparent"></Button>
</f:content>

看起来你什么都没试过,但我会尽力引导你:

您不能简单地在控制器中声明一个变量,然后在视图中使用它。UI5不是这样工作的。而是创建一个模型并将其绑定到视图。我还为我的模型命名,在本例中为“视图”:

然后在你的视图中使用它。确保在绑定中使用模型的名称(
“视图”
)。如果您想做的不仅仅是简单地使用原始值(例如,否定它),您必须使用。您还必须使用以
/
开头的绝对路径:

<form:SimpleForm id="SimpleFormDisplayColumn_oneGroup">
    <form:content>
        <Label text="{i18n>contextofusage}"/> 
        <Text text="{contextofusagetext}" visible="{= !${view>/isInfoEditable} }"/>
        <Input type="Text" visible="{view>/isInfoEditable}" value="{contextofusagetext}"></Input>
    </form:content>
</form:SimpleForm>

我强烈建议大家阅读UI5的基础知识。您的方法看起来更像Vue.js,但UI5有自己的范例。

您似乎什么都没有尝试过,但我将尝试指导您:

您不能简单地在控制器中声明一个变量,然后在视图中使用它。UI5不是这样工作的。而是创建一个模型并将其绑定到视图。我还为我的模型命名,在本例中为“视图”:

然后在你的视图中使用它。确保在绑定中使用模型的名称(
“视图”
)。如果您想做的不仅仅是简单地使用原始值(例如,否定它),您必须使用。您还必须使用以
/
开头的绝对路径:

<form:SimpleForm id="SimpleFormDisplayColumn_oneGroup">
    <form:content>
        <Label text="{i18n>contextofusage}"/> 
        <Text text="{contextofusagetext}" visible="{= !${view>/isInfoEditable} }"/>
        <Input type="Text" visible="{view>/isInfoEditable}" value="{contextofusagetext}"></Input>
    </form:content>
</form:SimpleForm>

我强烈建议大家阅读UI5的基础知识。您的方法看起来更像Vue.js,但UI5有自己的范例。

谢谢Marc。我最近开始学习UI5。因为我已经研究过Angular,所以我假设数据绑定在UI5中也可以以同样的方式工作。但我错了,谢谢你,马克。我最近开始学习UI5。因为我已经研究过Angular,所以我假设数据绑定在UI5中也可以以同样的方式工作。但我错了。
onInit: function() {
    var oViewModel = new sap.ui.model.json.JSONModel({
        isInfoEditable: false
    });
    this.getView().setModel(oViewModel, "view");
}
<form:SimpleForm id="SimpleFormDisplayColumn_oneGroup">
    <form:content>
        <Label text="{i18n>contextofusage}"/> 
        <Text text="{contextofusagetext}" visible="{= !${view>/isInfoEditable} }"/>
        <Input type="Text" visible="{view>/isInfoEditable}" value="{contextofusagetext}"></Input>
    </form:content>
</form:SimpleForm>
editClick: function (oEvent) {
    var oViewModel = this.getView().getModel("view");
    var bIsEditable = oViewModel.getProperty("/isInfoEditable");
    // negate the current value and set it as the new value
    oViewModel.setProperty("/isInfoEditable", !bIsEditable);
}