在Drag上使用Dragula拖放

时间:2019-07-12 11:26:32

标签: angular drag-and-drop ng2-dragula

使用Dragula库拖放块所必需。使用的是库版本1.5.0。出现错误Angular: Can't bind to 'dragula' since it isn't a known property of 'div'.。如何实现块拖动?

shared.module.ts:

import {DragulaModule} from 'ng2-dragula/ng2-dragula';
@NgModule({
  declarations: [
    ...COMPONENTS,
    ...PAGES
  ],
  imports: [
    DragulaModule,
    ...
  ]
})

export class SharedModule {
}

item.component.html:

<div [dragula]='"items"' [dragulaModel]="items.controls"  formArrayName="items">
  <input-container [formGroupName]="i"  *ngFor="let item of items.controls">
     <input formControlName="name"/>
  </input-container>
</div>

1 个答案:

答案 0 :(得分:0)

尝试从以下位置更改模块导入:

imports: [
    DragulaModule.forRoot(),
    ...
  ]

进入

import {DragulaModule} from 'ng2-dragula/ng2-dragula';

,然后尝试将引用从import { DragulaModule } from 'ng2-dragula';更改为import { DragulaService } from 'ng2-dragula';

还要确保在component.ts中已经导入:

@Component({..
   providers: [DragulaService]
....})

并放入:

#! /bin/bash

# MySQL database backup (databases in separate files) with daily, weekly and monthly rotation

# Sebastian Flippence (http://seb.flippence.net) originally based on code from: Ameir Abdeldayem (http://www.ameir.net)
# You are free to modify and distribute this code,
# so long as you keep the authors name and URL in it.

# Modified by IVO GELOV

# How many backups do you want to keep?
MAX_DAYS=5

# Date format that is appended to filename
DATE=`date +'%Y-%m-%d'`
DATSTR=`date '+%Y%m%d' -d "-$MAX_DAYS days"`

# MySQL server's name
SERVER=""

# Directory to backup to
BACKDIR="/var/db_arhiv/mysql"

#----------------------MySQL Settings--------------------#

# MySQL server's hostname or IP address
HOST="localhost"

# MySQL username
USER="user"

# MySQL password
PASS="password"

# List all of the MySQL databases that you want to backup, 
# each separated by a space. Or set the option below to backup all database
DBS="db1 db2"

# Set to 'y' if you want to backup all your databases. This will override
# the database selection above.
DUMPALL="y"


# Custom path to system commands (enable these if you want use a different 
# location for PHP and MySQL or if you are having problems running this script)
MYSQL="/usr/local/mysql/bin/mysql"
MYSQLDUMP="/usr/local/mysql/bin/mysqldump" 


function checkMysqlUp() {
    $MYSQL -N -h $HOST --user=$USER --password=$PASS -e status > /dev/null
}
trap checkMysqlUp 0

function error() {
  local PARENT_LINENO="$1"
  local MESSAGE="$2"
  local CODE="${3:-1}"
  if [[ -n "$MESSAGE" ]] ; then
    echo "Error on or near line ${PARENT_LINENO}: ${MESSAGE}; exiting with status ${CODE}"
  else
    echo "Error on or near line ${PARENT_LINENO}; exiting with status ${CODE}"
  fi
  exit "${CODE}"
}
trap 'error ${LINENO}' ERR

# Check backup directory exists
# if not, create it
if  [ ! -e "$BACKDIR/$DATE" ]; then
    mkdir -p "$BACKDIR/$DATE"
    echo "Created backup directory (${BACKDIR}/${DATE})"
fi

if  [ $DUMPALL = "y" ]; then
    echo "Creating list of databases on: ${HOST}..."

    $MYSQL -N -h $HOST --user=$USER --password=$PASS -e "show databases;" > ${BACKDIR}/dbs_on_${SERVER}.txt

    # redefine list of databases to be backed up
    DBS=`sed -e ':a;N;$!ba;s/\n/ /g' -e 's/Database //g' ${BACKDIR}/dbs_on_${SERVER}.txt`
fi

echo "Backing up MySQL databases..."

#cd ${LATEST}
for database in $DBS; do
  if [ ${database} = "information_schema" ] || [ ${database} = "performance_schema" ] || [ ${database} = "pinba" ]
  then
    continue
  fi
    echo "${database}..."
    $MYSQLDUMP --host=$HOST --user=$USER --password=$PASS --default-character-set=utf8 --routines --triggers --lock-tables --disable-keys --force --single-transaction --allow-keywords --dump-date $database > ${BACKDIR}/${DATE}/${SERVER}$database.sql
done

if  [ $DUMPALL = "y" ]; then
    rm -f ${BACKDIR}/dbs_on_${SERVER}.txt
fi

# dump privileges
$MYSQL -N -h $HOST --user=$USER --password=$PASS --skip-column-names -A -e "SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user" | $MYSQL -N -h $HOST --user=$USER --password=$PASS --skip-column-names -A > ${BACKDIR}/${DATE}/${SERVER}_grants.sql

# delete older files
for x in `find ${BACKDIR}/20* -type d`
do
    xd=`basename "${x//-/}"`
    if [[ $xd < $DATSTR ]]
    then
        rm -rf "$x"
    fi
done

echo "MySQL backup is complete"