小编DMr*_*ost的帖子

如何在Atom中为.vue文件启用语法高亮显示?

我开始使用Vue.js. 我遇到的第一个问题是我的IDE(Atom)没有美化我的.vue文件.这只是白色文字.

如何正确地使Atom突出显示.vue文件?

syntax-highlighting atom-editor vue.js

11
推荐指数
2
解决办法
1万
查看次数

setTimeout()无法从vueJS方法调用

我试图允许用户从应用程序重置或关闭给定的服务器.我现在在界面上工作,并希望向用户提供有关正在发生的事情的消息.我显示在我的数据对象中定义的消息,以指示所采取的操作.我使用setTimeout切换重置....消息与重置消息.请参阅以下方法.

    systemReset: function(){
            this.message = this.server + ': Resetting';
            setTimeout(function(){
                this.message = this.server + ': Reset';
            }, 2000);

    } 
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,我可以触发此消息,并显示"重置"消息,但不会输出以下"重置"消息.我有格式错误吗?

将此方法放在上下文中是我的整个组件.

  <template>
    <div>
      <p>{{message}}</p>
      <button @click="systemReset">Reset Server</button>
      <button @click="systemPowerDown">Poweroff Server</button>
    </div>
  </template>

  <script type="text/javascript">
    export default{
      data: function(){
        return{
          message: ''
        }
      },
      methods: {
        systemPowerDown: function(){
            this.message = this.server + ': Server Down';
        },
        systemReset: function(){
            this.message = this.server + ': Resetting';
            setTimeout(function(){
                this.message = this.server + ': Reset';
            }, 2000);
         }
      },
      props: ['server']
    }
  </script>

Am I …
Run Code Online (Sandbox Code Playgroud)

javascript methods vue.js

6
推荐指数
2
解决办法
6734
查看次数

将动态样式传递给VueJS中的元素

我正在尝试创建一种进度条来跟踪已完成任务的百分比.我想要v-bind:styles并传递它{width:dynamicWidth +'%'}以控制此栏的进度.到目前为止,我已经创建了一个计算变量,它将返回我想要显示的完成百分比,并且我已经在数据对象中设置了我的动态样式

  export default{
    data: function () {
      return {
        numQuotes: dataBus.numQuotes,
        numberA: 30,
        barWidth: {
          width: this.barWidthCalculated +'%'
        }
      }
    },
    computed: {
      barWidthCalculated: function(){
        return this.numQuotes * 10;
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我还在DOM中添加了一个元素来查看发生了什么.

  <div id="trackerBar">
        <div id="trackerBarActual" v-bind:style="barWidth">
            <h2>{{numQuotes}}/10</h2>
            <p>{{barWidthCalculated}}</p>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)

我的栏保持固定在100%,我没有在DOM上看到任何插值.我还在我的数据部分中建立了另一个NUMBER变量,并尝试将其传递给我的width属性,但仍然没有更改,并且没有在DOM上呈现.但是,如果我传递我的样式对象中的任何其他元素,如

color: 'red'
Run Code Online (Sandbox Code Playgroud)

这些变化发生了.如果我直接传递我的样式对象数,即......

  barWidth: {
        width: 50 +'%'
  }
Run Code Online (Sandbox Code Playgroud)

它在DOM上正确显示.

我错过了什么/做错了什么?

javascript css vue.js

3
推荐指数
1
解决办法
1638
查看次数

事件的行为,以及 Vue.js 中的 $event 变量

使用以下方法“updateCoords”,需要提供“event”参数。下面的 div 跟踪 mousemove 事件并通过方法实时更新光标的 x 和 y 坐标。

<div id="content">
  <div @mousemove="updateCoords($event)" style="height:400px;width:400px;border:2px solid black;">
    {{x}} {{y}}
  </div>
</div>

<script>
  new Vue({
    el: '#content',
    data: {
      x: 0,
      y: 0
    },
    methods: {
      updateCoords: function(event){
      this.x = event.clientX;
      this.y = event.clientY;
     }
    }
  })
</script>
Run Code Online (Sandbox Code Playgroud)

如果未传递事件,则此功能不起作用。对我来说,我们会在这里传递一些东西是有道理的,因为 X 和 Y 坐标取决于事件的最后一个位置。但是这些数据是如何存储的呢?事件是否在其自身内跟踪和存储数据?

此外,如果我将特殊的 $event 变量传递给我的方法,似乎也没有区别。打电话...

  @mousemove="updateCoords($event)"
//is the same as 
  @mousemove="updateCoords()"
Run Code Online (Sandbox Code Playgroud)

视图会自动知道传入的事件参数是 $event 吗?还是 $event 在其他特定情况下使用很重要??

events arguments vue.js

0
推荐指数
1
解决办法
3938
查看次数