使文本转到新文本

Posted

技术标签:

【中文标题】使文本转到新文本【英文标题】:making text go to new text 【发布时间】:2018-03-15 03:42:56 【问题描述】:

所以我真的不知道如何措辞,但我正在尝试创建一个序列,当有人点击三个按钮之一时,它会在他们按下按钮后转到新文本。问题是我不知道如何开始。我需要创建另一个模板还是可以使用我正在使用的同一个模板? html

<div id="app">

    <barista-template></barista-template>
</div>


    <!--template for customer-->
<script type="text/x-template" id="b-template">
    <div>
        <div>showText</div>
        <button v-on:click="choose('drip')">Drip</button>
        <button v-on:click="choose('frenchpress')">French Press</button>
        <button v-on:click="choose('aeropress')">Aeropress</button>
    </div>
</script>

<script type="text/x-template" id="c-template">
    <div>
        <div>showText2</div>
    </div>
</script>


<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.4/vue.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<script src="JS/app.js"></script>
</body>
</html>

JS

Vue.component("customer-template",
   template:"#c-template",
    data:function ()
       return
           order_type:"",
       
    ,
    computed:
        showText2 ()
            if(this.order_type === '') return '';
            return 'waiting for' + this.order_type
        

    
);
Vue.component("barista-template",
    template: "#b-template",
    data: function () 
        return
            order_type:"",
            order_value: "",
        
    ,
    computed: 
        showText () 
            if(this.order_type === '') return '';
            return 'One ' + this.order_type + ' that would be ' + this.order_value
        
    ,
    methods: 
        choose: function (order_type) 
            this.order_type = order_type;

            if (this.order_type == "drip") 
                this.order_value = "$10";
            
            if (this.order_type == "frenchpress") 
                this.order_value = "$20";
            
            if (this.order_type == "aeropress") 
                this.order_value = "$30";
            
        
    ,
);
new Vue (
    el:"#app",
    data:function () 
        return
            showing:true
        
    
);

【问题讨论】:

go to new text 是什么意思,您的代码工作正常,您是否参考了一些补间或效果来滑动文本?如果您这样做,请分享类似或示例 URL 以获得您需要的感觉。.. 很抱歉,所以当有人按下三个按钮之一时 [showText2] 应该紧随其后,上面写着:'waiting for' + this.order_type 如果您需要,请查看我的答案 是的,这就是我要找的东西,但假设一旦有人按下三个按钮之一,就会出现等待滴水 示例:客户按下滴水 [一滴水将是 10 美元] 然后新文本将替换它说 [等待滴水] 所以它只是用新文本替换旧文本 所以我猜我需要一个固定的时间方法?? 【参考方案1】:

这是你需要的吗?一个模板,我添加了新属性

Vue.component("barista-template",
    template: "#b-template",
    data: function () 
        return
            order_type:"",
            order_value: "",
        
    ,
    computed: 
        showText () 
            if(this.order_type === '') return '';
            return 'One ' + this.order_type + ' that would be ' + this.order_value
        ,
        showText2 ()
            if(this.order_type === '') return '';
            return 'waiting for ' + this.order_type
        
    ,
    methods: 
        choose: function (order_type) 
            this.order_type = order_type;

            if (this.order_type == "drip") 
                this.order_value = "$10";
            
            if (this.order_type == "frenchpress") 
                this.order_value = "$20";
            
            if (this.order_type == "aeropress") 
                this.order_value = "$30";
            
        
    ,
);
new Vue (
    el:"#app",
    data:function () 
        return
            showing:true
        
    
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/1.19.1/TweenMax.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.4/vue.min.js"></script>


<div id="app">
    <barista-template></barista-template>
</div>




    <!--template for customer-->
<script type="text/x-template" id="b-template">
    <div>
        <div>showText</div>
        <button v-on:click="choose('drip')">Drip</button>
        <button v-on:click="choose('frenchpress')">French Press</button>
        <button v-on:click="choose('aeropress')">Aeropress</button>
        <div>showText2</div>
    </div>
</script>

<script type="text/x-template" id="c-template">
    <div>
        <div>showText2</div>
    </div>
</script>

【讨论】:

是的,这就是我要找的东西,但它假设一旦有人按下三个按钮之一,就会出现等待滴水 示例:客户按下滴水 [一滴水将是 10 美元] 然后新文本将替换它说[等待滴水]。 所以我猜我需要一个固定的时间方法?? 是的,我建议将ID放在您要替换文本的那个div上,然后使用setTimeout替换文本 那么如果我创建一个 ID,它将如何替换其他文本?

以上是关于使文本转到新文本的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式使文本可选择并提供弹出菜单以转到另一个应用程序

如何使 SwiftUI 文本多行文本对齐从顶部和中心开始

如何使内部img的margin-bottom和外部div的margin-bottom折叠?

列/文本 - 转到下一行

c#如何使一个文本框变为不可编辑?但是又可以复制里面的数据?

asp.net中如何使控件内容在本页面跳转不刷新