小编Bog*_*ann的帖子

更改和分配没有副作用的对象

我目前有以下代码:

var myArray = [];
var myElement = {
  id: 0,
  value: 0
}

myElement.id = 0;
myElement.value = 1;
myArray[0] = myElement;

myElement.id = 2;
myElement.value = 3;
myArray[1] = myElement;
Run Code Online (Sandbox Code Playgroud)

问题是,当我改变的价值id,并value为我的第二个元素,值也在第一元素来改变.有没有一种方法可以继续添加新元素而不更改数组中先前插入的值的值?

javascript

24
推荐指数
2
解决办法
12万
查看次数

SAPUI5 - 如何将Odata $ count绑定到XML视图

可能这是一个基本问题,但我在XML视图中绑定Odata计数时遇到问题.

比方说,在下面的例子中,我想绑定Odata模型中的产品数量.

<List items="{/Categories}"} >  
  <ObjectListItem
    title="{CategoryName}"
    number="{path : 'Products/$count'}"
    numberUnit="Products"/>
</List>
Run Code Online (Sandbox Code Playgroud)

每个类别都需要显示相应类别中的产品数量.....如

/Categories(1)/Products/$count
/Categories(2)/Products/$count
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助.

sapui5

13
推荐指数
2
解决办法
2万
查看次数

如何通过ID从XML片段访问元素

我正在使用SAPUI5应用程序.我有一个XML视图,其中包含一个XML 片段和一个要保存的按钮.

该片段包含一些控件,如下拉列表,文本字段和表格.当我按下保存按钮时,我需要获取表中的所有行并调用OData更新服务.

问题出onSave在视图控制器中的方法中.使用其ID访问表时出错.任何人都可以帮助我并建议如何通过控制器中的ID访问片段中使用的控件?

这是代码片段:

----查看

<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns:core="sap.ui.core" xmlns:form="sap.ui.layout.form" xmlns="sap.m">
  <Page>
    ...
    <form:SimpleForm>
      <core:Fragment id ="fr1" fragmentName="first" type="XML"/>
      <Button id="id1" press="onSave"/>
    </form:SimpleForm>
  </Page>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)

----片段定义

<core:FragmentDefinition xmlns="sap.m" xmlns:core="sap.ui.core">
  <Table id="tab1" mode="MultiSelect">
    ...
  </Table>
</core:FragmentDefinition>
Run Code Online (Sandbox Code Playgroud)

----控制器

sap.ui.controller("view", {
  onSave: function() {
    //var tab = this.getView().byId("tab1"); // Not working
    var tab  = sap.ui.getCore().byId("tab1"); // Not working
  },
  // ...
});
Run Code Online (Sandbox Code Playgroud)

sapui5

13
推荐指数
2
解决办法
3万
查看次数

OData V4更改未在其他绑定中反映出来

我创建了一个UI5主 - 详细信息页面:

<List items="{som>/Users}">
  <StandardListItem
    type="Navigation"
    press="onItemPress"
    title="{som>UserName}"
  />
</List>
Run Code Online (Sandbox Code Playgroud)
onItemPress: function(oEvent) {
  var oUserContext = oEvent.getSource().getBindingContext("som");
  var oUser = oUserContext.getObject();
  this.getRouter().navTo("userDetails", {userId: oUser.Id});
}
Run Code Online (Sandbox Code Playgroud)

详情

onInit: function () {
  var route = this.getRouter().getRoute("userDetails");
  route.attachPatternMatched(this._onObjectMatched, this);
},

_onObjectMatched: function (oEvent) {
  var sUserId = oEvent.getParameter("arguments").userId;
  this.getView().bindElement({
    path: "som>/Users('"+sUserId+"')",
    model: "som"
  });
},

reload: function() {
  this.getView().getModel("som").refresh();
},
Run Code Online (Sandbox Code Playgroud)
<fLayout:SimpleForm id="userForm">
  <Button text="reload" press="reload"/>
  <Label text="{i18n>settings.user.id}"/>
  <Input editable="false" value="{som>Id}"/>
  <Label text="{i18n>settings.user.username}"/>
  <Input value="{som>UserName}"/>
  <Label text="{i18n>settings.user.email}"/>
  <Input value="{som>Email}"/>
  <Label text="{i18n>settings.user.firstname}"/>
  <Input …
Run Code Online (Sandbox Code Playgroud)

odata sapui5

11
推荐指数
2
解决办法
1026
查看次数

SAP B1,如何显示从 ItemImage 获取的图像?

我正在从 SAP B1 服务层获取图像。在邮递员中,我可以将其视为image/png,但显示时出现问题。

显示它的正确方法是什么<img />

require(fetchedImage) - 不起作用


我创建了一个云函数来获取图像并将其传递给客户端,但我不知道该怎么做。

有一个像这样的超级奇怪的物体

 data:
>     '?PNGörönöu001aönöu0000öu0000öu0000örIHDRöu0000öu.........
Run Code Online (Sandbox Code Playgroud)

不知道如何通过它传递它,res.send(IMAGE IN PNG)所以我可以看到在客户端获取图像。

检查base64转换,但我不知道如何使用它们。


更新

邮递员请求:(这工作正常)

获取:https : //su05.consensusintl.net/b1s/v1/ItemImages ('test')/$value

标题:SessionId:尝试时问我

由于某些原因,我们不能在 Front-End 中直接获取 Image,需要创建一个中间件,所以我们在 Firebase Cloud Function

所以这里是获取图像但不知道如何传递它的函数。

这是 Firebase Cloud Function 中的函数:

if (!req.body.productId) {
      res.status(400).send({ error: "productId is required" });
      return;
    }

    console.log("Starting the process");

    const productId = req.body.productId;

    const login = await Auth.login();
    const fetchedImg = await ItemMaster.getImage(login["SessionId"], productId);

    //Here in …
Run Code Online (Sandbox Code Playgroud)

javascript sapb1 node.js

11
推荐指数
1
解决办法
450
查看次数

何时在SAPUI5中使用Shell,App,Container,Page,View和SplitApp

最近我使用shell-> views和appContainer-> views创建了两个SAPUI5应用程序.两个结果输出相同.我很困惑何时在SAPUI5中使用Shell和App,Container,Page,View和SplitApp.我想知道SAPUI5中Shell,App,Container,Page,View和SplitApp之间的区别.另请介绍从您的经验中使用上述容器的最佳实践.图解说明有助于理解.

sapui5

10
推荐指数
1
解决办法
1万
查看次数

在 ASP.NET Core WebAPI 中获取 OData 计数

使用 Hassan Habib 的Supercharge ASP.NET Core API 和 OData博客文章中的示例代码,我能够使用 OData 查询获取记录计数$count=true

在此处输入图片说明

需要配置什么才能将响应对象包装在 an 中,OData context以便显示该@odata.count属性?

在我自己的 ASP.NET Core Web API 项目中,我无法使用简单的$count参数,我也不知道为什么。

使用 Hassan 的示例代码,响应 JSON 被包装在 an 中OData context,有效负载(一个IEnumerable<Student>对象)位于valueJSON 响应的属性中。在我的项目中,OData context包装器不存在;我的代码从不返回OData context,它只返回类型的有效负载对象IEnumerable<T>

在此处输入图片说明

我还注意到Content-Type响应头application/json; odata.metadata=minimal; odata.streaming=true; charset=utf-8中的 位于示例项目中,而它只是application/json; charset=utf-8在我的项目中。我在任何一个项目中都没有看到任何控制它的设置,所以我假设Microsoft.AspNetCore.OdataNuGet 包在正确配置时神奇地改变了响应。

我的项目也使用 .NET Core 2.2(从 2.1 升级),所有与 Hassan 示例项目相同版本的 NuGet …

c# asp.net odata asp.net-core-webapi

10
推荐指数
2
解决办法
4776
查看次数

Javascript中的FizzBu​​zz程序(详细说明)

有人可以为FizzBu​​zz更正我的这段代码吗?似乎有一个小错误.下面的代码打印所有数字,而不是仅打印不能被3或5整除的数字.

编写从打印数的程序1100.但是对于三的倍数,打印"Fizz"而不是数字,并且对于五的倍数,打印"Buzz".对于三和五的倍数的数字,打印"FizzBuzz".

function isDivisible(numa, num) {
  if (numa % num == 0) {
    return true;
  } else {
    return false;
  }
};

function by3(num) {
  if (isDivisible(num, 3)) {
    console.log("Fizz");
  } else {
    return false;
  }
};

function by5(num) {
  if (isDivisible(num, 5)) {
    console.log("Buzz");
  } else {
    return false;
  }
};

for (var a=1; a<=100; a++) {
  if (by3(a)) {
    by3(a);
    if (by5(a)) {
      by5(a);
      console.log("\n");
    } …
Run Code Online (Sandbox Code Playgroud)

javascript fizzbuzz

8
推荐指数
3
解决办法
3万
查看次数

UI5中如何给文本添加换行符?

转义字符\n和 Unicode 字符\u000a仅在 JavaScript 中有效。但是,我尝试在 XML 视图中添加换行符,如下所示。但不起作用:

<u:TimelineItem text="First Line\n SecondLine" />
Run Code Online (Sandbox Code Playgroud)

javascript xml newline line-breaks sapui5

8
推荐指数
1
解决办法
2万
查看次数

如何处理表的itemPress?

我写了一个XML视图.里面有一张桌子:

<Table xmlns="sap.m"
  id="myTable"
  select=""
  selectionChange=""
  swipe=""
  growingStarted=""
  growingFinished=""
  updateStarted=""
  updateFinished=""
  itemPress="console.log('clicked on item')"
>
  <columns>
    <!-- sap.m.Column -->
  </columns>
  <items>
    <!-- sap.m.ListItemBase -->
  </items>
</Table>
Run Code Online (Sandbox Code Playgroud)

我使用onInit控制器将行插入表中,但是当我单击一行时,消息不会显示.

sapui5 sap-fiori

7
推荐指数
1
解决办法
2万
查看次数