How to rotate sword while still looking at mouse?

I want to rotate the sword while sword is still pointing at mouse. I don’t know what to use, since animations don’t really work for me, and so does transform.Rotate(). This is my script:

[SerializeField] Camera cam;
Vector2 swordPos;
Vector2 mousePos;

void FixedUpdate()
{
    mousePos = cam.ScreenToWorldPoint(Input.mousePosition);
    swordPos = new Vector2 (transform.position.x, transform.position.y);
    Vector2 lookDir = mousePos - swordPos;
    float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
    transform.rotation = Quaternion.Euler(0, 0, angle);
}

I also want to use: if( Input.GetButton("Fire1") )

using UnityEngine;
public class SwordAnimator : MonoBehaviour
{
	[SerializeField] Camera _camera = null;
	[SerializeField] Transform _sword = null;
	[SerializeField] Vector3 _rotationPerSecond = new Vector3( 0 , 200 , 0 );
	Vector3 _dir;
	void Start ()
	{
		_dir = _sword.up;// initial dir
	}
	void Update ()
	{
		if( Input.GetButton("Fire1") )
		{
			_dir = _camera.ScreenToWorldPoint( Input.mousePosition ) - _sword.position;
		}
		float lookAtAngle = Mathf.Atan2( _dir.y , _dir.x ) * Mathf.Rad2Deg -90f;
		_sword.rotation = Quaternion.Euler(0,0,lookAtAngle) * Quaternion.Euler(_rotationPerSecond*Time.time);
	}
}