没做样玩过,理论上是不得行的,因为那个组件以及编译完成了。。。既然用了vue,为什么不把生成html标签那块代码,写成组件的形式呢?
Vue 可以添加数据动态响应接口。
例如以下实例,我们通过使用 $watch 属性来实现数据的监听,$watch 必须添加在 Vue 实例之外才能实现正确的响应。
实例中通过点击按钮自动加 1。setTimeout 设置两秒后计算器的值加上 20 。
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性。
Vue 不能检测到对象属性的添加或删除,最好的方式就是在初始化实例前声明根级响应式属性,哪怕只是一个空值。
如果我们需要在运行过程中实现属性的添加或删除,则可以使用全局 Vue,Vue.set 和 Vue.delete 方法。
Vue.set 方法用于设置对象的属性,它可以解决 Vue 无法检测添加属性的限制,语法格式如下:
在以上实例中,使用以下代码在开始时创建了一个变量 myproduct:
该变量在赋值给了 Vue 实例的 data 对象:
如果我们想给 myproduct 数组添加一个或多个属性,我们可以在 Vue 实例创建后使用以下代码:
如上图看到的,在产品中添加了数量属性 qty,但是 get/set 方法只可用于 id,name 和 price 属性,却不能在 qty 属性中使用。
我们不能通过添加 Vue 对象来实现响应。 Vue 主要在开始时创建所有属性。 如果我们要实现这个功能,可以通过 Vue.set 来实现:
从控制台输出的结果可以看出 get/set 方法可用于qty 属性。
Vue.delete 用于删除动态添加的属性 语法格式:
以上实例中我们使用 Vue.delete 来删除 price 属性。以下是控制台输出结果:
从上图输出结果中,我们可以看到 price 属性已删除,只剩下了 id 和 name 属性,price 属性的 get/set 方法也已删除。
Bootstrap是网上最流行的前端开发框架. 除了用它,我不知道还有其他更快的方法去构建一个响应式的网站。
但是自从我向网页添加动态功能的工具变成vue.js后。适应bootstrap变得困难起来。因为这带来了一些技术包袱。没错。我说的就是jquery。
这并不是在抨击jquery,我只是意识到,当你已经在项目里使用一些像Vue的框架后,再引入jQuery就会出现一些显著的缺点:
如果你正在使用Vue,但是你又特别想基于Bootstrap CSS框架基础上做开发, 那么强烈建议思考一下这个问题:在Bootstrap CSS框架中使用jQuery值得吗?
不过在你做出决定之前,还有另外一个选择…
提示: 这篇文章最初发表在
但是如果你只是用一小部分的Bootstrap插件的话, 我觉得自己定制Vue.js的插件也很容易,那样的话你也不需要将整个vue-strap都引用进来(译者注:我就是只用了Vue.js和几个其他需要的plugin :)
下面让我展示一下怎么使用vue,从零开始设置一些常用的Bootstrap 插件
我们将从选项卡开始。每一个选项卡都附带着他的面板. 选项卡的显示/隐藏是通过添加/移除选项卡与面板的class属性中的active来实现的,而这就是Vue将要处理的工作。
我们用一个变量tab来跟踪当前被选中的选项卡,并用这个变量来添加/移除选项卡与其对应面板的Class属性中的active:
我们还需要在所有的选项卡上监听点击事件,用来更新我们的tab变量
这里还有一些我们可以进行的改进与优化,但为了使本文简介的缘故就不展开了:
v-for来打印出选项卡与面板的列表来。
模态对话框是我最喜欢的Bootstrap 插件之一。与选项卡类似,我们通过添加/移除一个in的类来控制模态框的显示/隐藏。而这些通过一个打开和关闭按钮来触发,
对于一个Bootstrap 的模态框,我们需要在对话框上有一个动态的内联样式。 我们通过 v-bind:style
指令来实现,这个指令通过从一个计算属性中接收一个“对象样式”进行的。每次计算属性所依赖的变量变化时,他自己都会重新计算一遍:
你也可以通过使用Vue的过渡动画在模态框进入和离开DOM时渐变,来增强你的模态框。
不是说你可以在Bootstrap中用vue.js代替jquery,而是说你的确应该这么做。因为不管你是使用vue-strap或自己封装插件,你都可以感到Vue的如下诱人的优势:
请记住,Vue不支持IE8,但是你可能会考虑在下一个bootstrap项目中使用他。
获取最新vue.js的文章,教程和酷项目点击