小编Ben*_*rth的帖子

反应:等到所有孩子都可以使用并在之后调用一次函数

解决了,请参阅下面的更新.您可以使用此代码作为参考来实现simillar


假设我有一个父反应组件(ES6):

import ChildDiv from './ChildDiv'

export default React.createClass({
  displayName: 'ParentDiv',

  getInitialState () {
    nodesLoadedToCanvas: 0,
    workedOnParentOnceAfterAllChildrenWereLoaded: false
  },

  onChildNodeDidMount () {
    let nodeCount = this.state.nodesLoadedToCanvas + 1
    this.state.nodesLoadedToCanvas = nodeCount
    console.log('Mount ' + this.state.nodesLoadedToCanvas + ' nodes so far')
  },

  render () {
    const {children} = this.props // 'children' is a model collection

    return (
      <div id='ParentDiv'>
      {children.map((childDiv) => 
        <ChildDiv data={childDiv} key={childDiv.id} onRender={this.onChildNodeDidMount}/>
      )}
      </div>
    )
  },

  componentDidMount () {
    console.log('Parent did mount')
  },

  componentDidUpdate () …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

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

如何在sapUI XML-View中使用if/else条件?

如何在SapUI5中的XML-View中实现if/else条件,该条件使用来自JSONModel的标志(条件)?

到目前为止我有一个控制器:

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/model/json/JSONModel"
], function (Controller, JSONModel) {
    "use strict";

    return Controller.extend("sap.ui.demo.myApp.myController", {
        onInit: function () {
            //// set data model on view
            var oData = {
                title: "A cool title",
                values: [{name: "Text 1", marketed: true}, {name: "Text 2", marketed: false}, {name: "Text 3", , marketed: true}]
            };

            var oModel = new JSONModel(oData);
            this.getView().setModel(oModel);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

和一个视图:

<mvc:View
    controllerName="sap.ui.demo.myApp.myController"
    xmlns="sap.m">

    <!-- using aggregation binding -->
    <Panel expandable="true" expanded="true" headerText="{/title}" width="100%" content="{/values}">
        <content> …
Run Code Online (Sandbox Code Playgroud)

javascript xml sapui5

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

如何在XML视图SAP UI5中将参数传递给事件处理程序

我无法将数据从XML视图发送到控制器.在JS视图中很容易实现.

例如:-

在JS视图中: -

var btn = new sap.m.Button({
    text:"click",
    tap:function(){
          callFunction(oEvent, "mycustomString");
    }
});
Run Code Online (Sandbox Code Playgroud)

如何使用XML视图实现相同的功能.

<Button text="click" tap="callFunction"/>
Run Code Online (Sandbox Code Playgroud)

以上只会传递事件而不是"mycustomString".我该怎么做?

parameter-passing sapui5

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

如何在sapui5/openui5中等待JSONModel.loadData()请求

在sapUI5/openUI5中,我有一个JSONModel,我填充来自服务器的文件:

var oModel = new JSONModel();
oModel.loadData("http://127.0.0.1/data/config.json");
console.log(JSON.stringify(oModel.getData()));
Run Code Online (Sandbox Code Playgroud)

由于请求是异步的,控制台会记录一个空的oModel.

console.log()在加载数据后调用如何使它同步?

javascript asynchronous sapui5

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

我可以在openUI5上使用webpack吗?

我可以在openUI5项目中使用webpack及其捆绑功能吗?怎么样?

我知道openui5_preload并且gulp-ui5-preload我想要的不仅仅是将我的所有代码放在一个preloader文件中:我喜欢"遍历"所有使用过的dedendencies并将我的整个openUI5项目捆绑在一个文件中.

到目前为止,我能够使用UI5运行webpack:

npm i -g webpack

webpack.config.js:

module.exports = {
  entry: {
    packed: './webapp/Component.js'
  },
  output: {
    path: './built',
    filename: '[name].built.js'
  },
  resolve: {
    modulesDirectories: [
      'node_modules',
      'bower_components'
    ]
  }
};
Run Code Online (Sandbox Code Playgroud)

并运行webpack一个文件built/packed.built.js.但它只包含我的component.js文件.为什么?

sapui5 webpack

6
推荐指数
1
解决办法
1526
查看次数

包含并引用与webpack反应的图像

在单页面JavaScript应用程序构建中包含和引用图像以及与webpack捆绑在一起的最佳方法是什么?

到目前为止我有

return (<img src={require('./pic.png'}</div>)
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

javascript singlepage reactjs webpack

5
推荐指数
1
解决办法
2354
查看次数

Julia:计算两组点之间最小距离的快速方法

我在 Matrix 中有 5000 个 3D 点A,在矩阵中有另外 5000 个 3D 点B

对于 中的每个点,A我想找到到 中的点的最小距离B。这些距离应存储在一个包含 5000 个条目的数组中。

到目前为止,我已经有了这个解决方案,运行在大约0.145342 seconds (23 allocations: 191.079 MiB). 我怎样才能进一步改进这一点?

using Distances

A = rand(5000, 3)
B = rand(5000, 3)

mis = @time minimum(Distances.pairwise(SqEuclidean(), A, B, dims=1), dims=2)

Run Code Online (Sandbox Code Playgroud)

performance julia

4
推荐指数
2
解决办法
369
查看次数

如何在 sapUI XML-View 中迭代 JSONModel?

如何在 SapUI5 中构建一个 XML 视图来遍历 JSONModel 中的所有元素?

到目前为止,我有一个控制器

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/model/json/JSONModel"
], function (Controller, JSONModel) {
    "use strict";

    return Controller.extend("sap.ui.demo.myApp.myController", {
        onInit: function () {
            //// set data model on view
            var oData = {
                title: "A cool title",
                values: [{name: "Text 1"}, {name: "Text 2"}, {name: "Text 3"}]
            };
            var oModel = new JSONModel(oData);
            this.getView().setModel(oModel);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

和一个视图

<mvc:View
        controllerName="sap.ui.demo.myApp.myController"
        xmlns="sap.m"
>
    <Panel expandable="true" expanded="true" headerText="{/title}" width="100%">
        <content>
            <!-- how to iterate over {/values} …
Run Code Online (Sandbox Code Playgroud)

xml sapui5

3
推荐指数
1
解决办法
4199
查看次数

如何在sapui5 XML视图中显示控制器变量?

如何在sapUI5 XML视图中显示控制器变量?

到目前为止我有一个控制器:

sap.ui.define([
    "sap/ui/core/mvc/Controller"
], function (Controller) {
    "use strict";

    return Controller.extend("sap.ui.demo.myApp.myController", {
        onInit: function () {
            this.myName = "Jon Doe";
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

XML视图:

<mvc:View
    controllerName="sap.ui.demo.myApp.myController"
    xmlns="sap.m">
<Panel>
    <content>
        <Label text="bind controller myName to this label"/>
    </content>
</Panel>
Run Code Online (Sandbox Code Playgroud)

这可能不使用模型绑定吗?如果不是:最聪明(最短)的方法是什么?

javascript sapui5

3
推荐指数
1
解决办法
7393
查看次数

SAP HANA:多列的最小值

我在SAP HANA索引服务器中有一些列:

ID | COL_1 | COL_2 | COL_3
---+-------+-------+------
 1 |     5 |     3 |    2
 2 |     7 |     9 |    8
 3 |     5 |     4 |    6
Run Code Online (Sandbox Code Playgroud)

如何获得每行的最小值?

预期结果:

ID | MIN   
---+-------
 1 |     2 
 2 |     7 
 3 |     4 
Run Code Online (Sandbox Code Playgroud)

到目前为止我试过了

SELECT ID, min(COL_1, COL_2, COL_3) FROM ...
Run Code Online (Sandbox Code Playgroud)

min()似乎一次只支持两个cols.

sql sap hana

3
推荐指数
1
解决办法
1913
查看次数

Reactjs:如何从安装的 &lt;div&gt; 中获取 css-class 属性?

假设我有一个像这样的 react DOM 元素:

render () {
  ...
  return (
    <div className = "widePaddingRight" style = {{width: "100px"}}
      ref = "pickMe"
    >
      ...
    </div>
  )
}
Run Code Online (Sandbox Code Playgroud)

CSS:

.widePaddingRight{
  paddingRight: 20px
}
Run Code Online (Sandbox Code Playgroud)

如果我稍后访问此元素并尝试获得其宽度:

componentDidMount () {
  var elem = this.refs.pickMe.getDOMNode().getBoundingClientRect()
  console.log(elem.width)
}
Run Code Online (Sandbox Code Playgroud)

我进入120了我的控制台。我的预期结果是100。由于我必须使用原始宽度进行计算,因此我必须获得元素的填充属性。

问题:如何paddingRight在我的 react-class 中获取组件的属性?

更新 通过@Mike 'Pomax' Kamermans 的输入,我能够解决潜在的问题(谢谢):只需添加box-sizing: border-box到 CSS。现在getBoundingClientRect()给出100而不是120.

我仍然不知道如何从已安装的 div 中获取 css 类属性 - 有什么建议吗?

javascript reactjs

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