首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用带有vuejs指令和浏览器化的引导引导选择插件

如何使用带有vuejs指令和浏览器化的引导引导选择插件
EN

Stack Overflow用户
提问于 2016-02-15 20:18:11
回答 1查看 3.2K关注 0票数 5

我想在vuejs项目上使用引导选项插件,我很困惑如何将它作为指令合并到我的项目中。在查看vuejs网站中的select2示例后,我想出了以下内容。

代码语言:javascript
复制
<span id="el">
  <select class="selectpicker" data-style="btn-primary" v-selectpicker="selected" :options="workflow">
    <option value="0">default</option>
  </select>                                                    
</span>

这是我的指令和视图

代码语言:javascript
复制
require("bootstrap-select");

Vue.directive('selectpicker',{  

    twoWay: true,

    deep: true,

    bind: function() {          
        $(this.el).selectpicker().on("change", function(e) {
            this.set($(this.el).val());
        }.bind(this));
    },
    update: function (value) {
        $(this.el).selectpicker('refresh').trigger("change");
    },
    unbind: function () {
        $(this.el).off().selectpicker('destroy');
    }
});


new Vue({

    el: '#el',

    data: {

        tasksLoaded: false,
        tasks: [],
        workflow: [
            {
                id:'todo',
                value: 'To Do'
            }, 
            {
                id: 'backlog', 
                value: 'Backlog'
            },
            {
                id: 'doing', 
                value: 'Doing'
            },
            {
                id: 'restest', 
                value:'Retest'
            },
            {
                id: 'completed', 
                value: 'Completed'
            },
            {
                id: 'deployed',
                value: 'Deployed'
            }
        ],
        sections:[],
        tests:[],
        sectionId: '',
        testId: ''
    },

    watch: {            
        // watch these particular models for changes and then fire on trigger       
        sectionId: function(value) {                        
            this.getTests(value);                   
        },
        testId: function(value) {
            this.getResults(value);
        }
    }
});

我最终得到了错误

代码语言:javascript
复制
Uncaught TypeError: $(...).selectpicker is not a function

我已经检查过了是否已经打过电话了,它已经存在了。

另外,我使用的是laravel,所以它已经在app.js文件中定义了app.js

代码语言:javascript
复制
require('laravel-spark/core/bootstrap');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-15 20:37:02

你能告诉我们你在哪里包括jQuery和Bootstrap吗?

当运行jquery时,jquery必须以$的形式可用。下面是我在我的应用程序中的用法:

代码语言:javascript
复制
window.$ = window.jQuery = require('jquery');
require('bootstrap');
require('bootstrap-select');

这些都需要按正确的顺序调用,否则它们就不会彼此适当地扩展。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35418299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档