您现在的位置:首页 >> 前端 >> 内容

vue指令标签

时间:2017/6/29 10:10:00 点击:

  核心提示:vue指令标签v-if:写在html 标签 里面,里面一般来说写表达式,如果表达式为真,就显示这个标签里面的内容,具体例子如下:p id=app h1 v-if=age =25 Age:{{age}}...

vue指令标签

v-if:

写在html 标签 里面,里面一般来说写表达式,如果表达式为真,就显示这个标签里面的内容,具体例子如下:

<p id="app"> 
<h1 v-if="age >=25"> Age:{{age}}</h1> 
<h2 v-if = "name.indexOf('qing') >=0">Name :{{ name}}</h2> 
</p> 
<script type="text/JavaScript"> 
var dataexample = { 
age : 26, 
name :'qingmei' 
}; 
new Vue({ 
el :'#app', 
data :dataexample 
}) 
</script>

**

v-show:

v-show和 v-if的区别是v-if是不会渲染到html 中,只有判断为真的时候才会把标签渲染到html中

v-show 会渲染到html上,只是单纯对css的样式做修改,block 和 hide

具体例子如下:

<p id="app"> 
<h1 v-show="age >=24"> Age:{{age}}</h1> 
<h1 v-if="age >=25"> Age:{{age}}</h1> 
<h2 v-if = "name.indexOf('qing') >=0">Name :{{ name}}</h2> 
</p> 
<script type="text/javascript"> 
var dataexample = { 
age : 26, 
name :'qingmei' 
}; 
new Vue({ 
el :'#app', 
data :dataexample 
}) 
</script>

**

v-else:

v-else 是紧跟着 v-if 和v-show 后面

例子如下:

<p id="app"> 
<h1 v-show="age >=24"> Age:{{age}}</h1> 
<h1 v-else>Age:24</h1> 
<h1 v-if="age >=25"> Age:{{age}}</h1> 
<h2 v-if = "name.indexOf('qing') >=0">Name :{{ name}}</h2> 
<h1 v-else> error</h1> 
</p> 
<script type="text/javascript"> 
var dataexample = { 
age : 26, 
name :'qingmei' 
}; 
new Vue({ 
el :'#app', 
data :dataexample 
}) 
</script> 
**

v-on:绑定方法

例子如下:

<p id="app">
        <p>
            <input type="text" v-model="message">
        </p>
        <p>
            <button v-on:click="greet"> 问候 </button>
        </p>
        <p>
            <button v-on:click="say('qingeu')"> 说话 </button>
        </p>
    </p>
    <script type="text/javascript">
        var dataexample = {
            message:"hello"
        };
        var ve= new Vue({
            el :'#app',
            data :dataexample,
            //在methods定义方法
            methods:{
                greet:function(){
                    alert(ve.message);
                },
                say:function(message){
                    alert(message);

                }
            }
        })

    </script>

v-bind: 绑定html属性

例子如下:

<p id="app"> 
<ul class="pagination"> 
<li v-for="n in pageCount"> 
<a href="javascript:void(0)" v-bind:class="activenumber===n+1?'active':''">{{n+1}}</a> 
</li> 
</ul> 
</p> 
<script type="text/javascript"> 
var dataexample = { 
pageCount : 26, 
activenumber :2 
}; 
new Vue({ 
el :'#app', 
data :dataexample 
}) 
</script> 
**

v-html:输出html 代码

例子如下:

<p id = "app">
    <p v-html = "message"></p>
</p>

<script>
    new Vue({
        el:'#app',
        data:{
            message:'<h1>你好</h1>'
        }
    })
</script>

v-for:从数组循环取数据

例子如下:

<p id="app">
        <table>
            <thead>
                <tr>
                    <th>姓名</th>
                    <th>年龄</th>
                    <th>性别</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="item in people">
                    <td>{{ item.name }}</td>
                    <td>{{ item.age}}</td>
                    <td>{{ item.sex}}</td>
                </tr>
            </tbody>
        </table>
    </p>
    <script type="text/javascript">
        var dataexample = {
            age : 26,
            name :'qingmei'
        };
        new Vue({
            el :'#app',
            data :{
                people:[{
                    name:'Jack',
                    age:30,
                    sex:'Male'
                },{
                    name:'Back',
                    age:26,
                    sex:'Female'
                },{
                    name:'Gack',
                    age:22,
                    sex:'Male'
                }
                ]
            }
        })
    </script>

v-mode:双向绑定

例子如下:

<p id="app">
        <p>{{ message}}</p>
        <input type="text" v-model = "message">
    </p>
    <script type="text/javascript">
        var dataexample = {
            message : 'hello world'
        };
        new Vue({
            el :'#app',
            data :dataexample
        })
    </script>

路由:一般适用于跳转链接

例子如下:

<p id="app">
  <h1>Hello App!</h1>
  <p>
    <!-- 使用 router-link 组件来导航. -->
    <!-- 通过传入 `to` 属性指定链接. -->
    <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
    <router-link to="/foo">首页</router-link>
    <router-link to="/bar">详情</router-link>
  </p>
  <!-- 路由出口 -->
  <!-- 路由匹配到的组件将渲染在这里 -->
  <router-view></router-view>
</p>

<script>
// 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter)

// 1. 定义(路由)组件。
// 可以从其他文件 import 进来
const foo = { template: '<p>foo</p>' }
const bar = { template: '<p>bar</p>' }

// 2. 定义路由
// 每个路由应该映射一个组件。 其中"component" 可以是
// 通过 Vue.extend() 创建的组件构造器,
// 或者,只是一个组件配置对象。
// 我们晚点再讨论嵌套路由。
const routes = [
  { path: '/foo', component: foo },
  { path: '/bar', component: bar }
]

// 3. 创建 router 实例,然后传 `routes` 配置
// 你还可以传别的配置参数, 不过先这么简单着吧。
const router = new VueRouter({
  routes:routes // (缩写)相当于 routes: routes
})

// 4. 创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
const app = new Vue({
  router
}).$mount('#app')

// 现在,应用已经启动了!

vue前后端通信:类似于ajax,后端通信

例子如下:

<p id="app">

    </p>
    <script type="text/javascript">
        Vue.component('runoob',{
            template:'<h1>全局自定义组件</h1>'
        });
        var ve= new Vue({
            el :'#app',
            ready: function(){
                //this.$http.post(url,postdata,function callback)
                //get 简写
                this.$http.get('url',function(data){
                        this.$set('books',data);
                }).error(function(data,status,request) {

                });
                //post 不简写
                this.$http.jsonp({
                    url:'lte/www.xxx.com',
                    method:'POST',
                    emulateJSON:true,
                    data:{
                        name:'zhangsan',
                    }
                }).then(function(response){
                    console.log(response.data);
                },function(response){

                });
            },
            data:
        })

    </script>

vue组件:自定义组件

例子如下:

<script type="text/javascript">
    Vue.component('runoob',{
        template:'<h1>全局自定义组件</h1>'
    });
    var ve= new Vue({
        el :'#app',
    })

</script>

Tags:VU UE E指 指令 
作者:网络 来源:青梅煮酒论英雄的博客