• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
春风ヾ
博客园    首页    新随笔    联系   管理    订阅  订阅

VUE7大属性

学习vue我们必须之到它的7个属性,8个 方法,以及7个指令。787原则
  • el属性
    • 用来指示vue编译器从什么地方开始解析 vue的语法,可以说是一个占位符。
  • data属性
    • 用来组织从view中抽象出来的属性,可以说将视图的数据抽象出来存放在data中。
  • template属性
    • 用来设置模板,会替换页面元素,包括占位符。
  • methods属性
    • 放置页面中的业务逻辑,js方法一般都放置在methods中
  • render属性
    • 创建真正的Virtual Dom
  • computed属性
    • 用来计算
  • watch属性
    • watch:function(new,old){}
    • 监听data中数据的变化
    • 两个参数,一个返回新值,一个返回旧值
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      <div id="app">
          {{msg}}
            <div>这是模板的第一种使用方法1</div>
      </div>
        
      <template id="bot">这是模板的第三种使用方法,不常用3</template>
      <script>
      <div id="bot">模板的第四种创建方法4</div>
      </script>
      <script>
          var vm1 = new Vue({
              data: {
                  msg: "data属性"
              },
              methods: {
                  Personal:function () {
                      console.log("methods方法存放方法")
                  }
              },
              template: `<div>模板的第二种使用方法2</div>`,
              //template:"#bot",
              render: (createElement) => {
                  return createElement("h1",{"class":"类名","style":"color: red"},"这一个render属性创建的虚拟dom")
              },
          })
      </script>
      methods和computed其中都可以写算法,有什么区别呢?
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      <!DOCTYPE html>
      <html lang="en">
      <head>
      <meta charset="UTF-8">
      <title>Title</title>
      <script src="javascript/vue.min.js"></script>
      </head> <body>
      <div id="app">
          <p>{{message}}</p> //直接在模板中绑定表达式
          <p>{{message.split('').reverse().join('')}}</p> //运用计算属性
          <p>{{reverseMessage}}</p> //运用methods方式
          <p>{{methodMessage()}}</p>
      </div>
      <script>
          var vm=new Vue({
               el:"#app",
               data:{
                   message:"hello"
               },
              computed:{
                  reverseMessage:function(){
                       return this.message.split('').reverse().join('');
                  }
              },
               methods:{
                   methodMessage:function () {
                       return this.message.split('').reverse().join('');
                   }
               }
          })
      </script>
      </body>
      </html>
posted @ 2022-01-09 20:04  春风ヾ  阅读(232)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3