fix:macro not render at once, rendered once used
feat: macro improvement, add attribute to macro, try to watch data change and only render changed parts