Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vue范围新鲜_Javascript_Jquery_Vue.js_Vuejs2 - Fatal编程技术网

Javascript Vue范围新鲜

Javascript Vue范围新鲜,javascript,jquery,vue.js,vuejs2,Javascript,Jquery,Vue.js,Vuejs2,我只是在jquery中使用vue.js。我的情况是,我尝试使用jquery将侧栏html代码(内部包含vue语法)注入main.html。但是,在我将sidebar.html注入main.html之后,vue.js无法编译注入的vue的语法。有人能帮我解决这个问题吗? vue的功能是否与angular scope.apply类似 vue的功能是否与angular scope.apply类似 正如它所说,Vue异步执行DOM更新。每当观察到数据更改时,它将打开一个队列并缓冲同一事件循环中发生的所有

我只是在jquery中使用vue.js。我的情况是,我尝试使用jquery将侧栏html代码(内部包含vue语法)注入main.html。但是,在我将sidebar.html注入main.html之后,vue.js无法编译注入的vue的语法。有人能帮我解决这个问题吗? vue的功能是否与angular scope.apply类似

vue的功能是否与angular scope.apply类似

正如它所说,Vue异步执行DOM更新。每当观察到数据更改时,它将打开一个队列并缓冲同一事件循环中发生的所有数据更改。在下一个事件循环“tick”中,Vue刷新队列并执行实际工作

为了在数据更改后等待Vue.js完成DOM更新,可以在数据更改后立即使用Vue.nextTick(回调)。更新DOM后将调用回调,这与AngularJS类似,在AngularJS中,您将代码包装在$apply()中并开始$digest循环

代码示例:

HTML

<div id="example">{{ message }}</div>

您的代码无法工作的原因只能在查看代码后进行诊断。

解决问题的最简单方法是在jquery注入vue实例后将其装载到元素。这是通过在vue构造函数中使用选项指定它来完成的。或者使用


使用vue.js很难让jquery(其中的html部分)正常运行,我建议一直使用vue。一种简单的方法是一次加载所有vue模板,然后只更改数据。

我的问题是,我必须使用相同的侧栏创建许多html页面,因此我需要单独插入侧栏。你有没有其他的想法来做这件事?哦,这是vue非常擅长的,不需要jquery。因此,如果您只是从侧边栏组件中创建一个捆绑包,然后将该捆绑包文件包含到html页面中。为了制作一个js包,我建议您尝试一下这个简单的webpack模板,并尝试一下。谢谢。我将尝试用jquery注入我的代码,但{{item.title}{{{item.detail}}无法呈现。
var vm = new Vue({
  el: '#example',
  data: {
    message: '123'
  }
})
vm.message = 'new message' // change data
vm.$el.textContent === 'new message' // false
Vue.nextTick(function () {
  vm.$el.textContent === 'new message' // true
})