小编Con*_*lub的帖子

Angular指令等到ng-repeat将呈现

如何在AngularJS中制作自定义指令,等待ng-repeat进行渲染?

我坚持的问题是:在渲染li元素之前的指令init,所以DOM没有准备好,并且计算的块的高度不对.

这是我的代码

AngularJS

.directive('navCollapse', function(){
 return {
  restrict: 'A', 
  scope: {
     navItems: '=',
     navScrollOn: '='
  },
  link: function($scope, $element, $attrs) {
           var $navList = $element.find('ul'),
               navItemsChildren = $navList.children('li'),
               navItemsChildrenDefault = navItemsChildren.get(),
               navItemsChildrenGet = navItemsChildren.get(),
               showItems = ($scope.navItems !== undefined) ? $scope.navItems : 6,
               showItemsOnScroll = ($scope.navItems !== undefined) ? $scope.navScrollOn : navItemsChildren.length,
               isCollapsed  = false,
               calculateHeight = navItemsChildren.outerHeight() * showItems,
               calculateFullHeight = navItemsChildren.outerHeight() * showItemsOnScroll;
           $navList.wrap('<div class="links-wrap" style="max-height:'+ calculateHeight +'px"></div>');

           function sortNav(element) {
              element.sort(function(a,b){
                var keyA = $(a).find('a').text();
                var …
Run Code Online (Sandbox Code Playgroud)

javascript dom angularjs ng-repeat

5
推荐指数
0
解决办法
1305
查看次数

将调用放入队列并等待更新 React.js 中的状态

我有一个forEach在子组件的循环中运行的函数,该函数必须过滤数据并用结果更新状态。问题是,当我使用循环迭代该函数时,该函数同时运行并且在此期间,状态将无法使用数据正确更新。问题是如何更好地实现它,可能有一种方法可以使用 Promise 或 async /await 或者更简单的方法来实现。根据需要放入队列并等待状态更新。

简化的代码在这里是
组件子组件

this.props.data.forEach((item, i) => {
    this.props.update(item);
});
Run Code Online (Sandbox Code Playgroud)

组件父组件

function update(data) {
    let filtered = this.state.data.filter(item => item.uid !== data.uid);
    this.setState({data: filtered});
}
Run Code Online (Sandbox Code Playgroud)

javascript loops promise async-await reactjs

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

无法在Heroku服务器上传图像

将图像上传到heroku服务器时遇到一些问题,在localhost上一切正常.但是当我上传图片时,在heroku上,它看起来一切顺利但刷新页面后我收到了错误消息404(未找到)所以它似乎没有上传.

这是我的代码

var express = require('express'),
    app = express(),
    server = app.listen(process.env.PORT || 5000),
    fs = require('fs-extra'),
    im = require('imagemagick'),
    util = require('util'),
    formidable = require('formidable');

app.post('/upload', function (req, res){
  var form = new formidable.IncomingForm();

  // show respond
  form.parse(req, function(err, fields, files) {
    res.writeHead(200, {'content-type': 'text/plain'});
    res.write('received upload:\n\n');
    console.log(fields + ' ' + files);
    res.end(util.inspect({fields: fields, files: files}));
  });

  form.on('end', function(fields, files) {
    var that = this;
    // temporary storage of image
    var temp_path = that.openedFiles[0].path;
    // uploaded image name …
Run Code Online (Sandbox Code Playgroud)

upload image file heroku node.js

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