Split normal attributes and init attributes

1. add the target attribute to control view
2. refactor generate-view-did-load and generate-view-will-appear to
   split normal attributes and init attributes