Angular UI Select2初始化失败

时间:2013-06-11 19:00:49

标签: angularjs angular-ui

我无法使Angular UI Select2模块正常工作。我想到的最简单的例子如下,源自AngularJS教程。

关于Github项目(https://github.com/angular-ui/ui-select2)的说明,我只需要包含jQuery,Angular和Angular UI的select2.js。但后来我只得到错误: TypeError:Object [object Object]没有方法'select2'

包括Select2没有错误,但是我将select tag的占位符文本作为链接,然后将两个空文本输入字段作为常规选择下拉列表。当我在选择下拉列表中选择某些内容时,它的值将替换占位符文本。单击该链接会清空页面,因此尝试向文本框输入内容。

我已经使用Yeoman的generator-angular作为基础测试了多个浏览器和平台。我尝试了更老版本的Angular UI的select2.js,但行为没有改变。搜索没有发现任何相关内容,我发现的工作示例是在Angular UI分解为模块之前。

我做错了什么或这是一个错误?

HTML:

<!doctype html>
<html ng-app="anguish">
<head>
<script type="text/javascript" src="components/jquery/jquery.js"></script>
<script src="components/angular/angular.js"></script>
<script type="text/javascript" src="components/select2/select2.js"></script>
<script type="text/javascript" src="components/angular-ui-select2/src/select2.js"></script>
<script type="text/javascript" src="foo.js"></script>
</head>
<body>
<div>
<select ui-select2 ng-model="select2" data-placeholder="Pick a number">
    <option value=""></option>
    <option value="one">First</option>
    <option value="two">Second</option>
    <option value="three">Third</option>
</select>
</div>
</body>
</html>

foo.js:

'use strict';

angular.module('anguish', ['ui.select2'])
.controller('MainCtrl', function ($scope) {
    $scope.select2 = null;
    $scope.select2Options = {
        allowClear:true
    };
});

1 个答案:

答案 0 :(得分:4)

如果您收到'没有方法select2',请尝试在select2.js之前加angular.js

此外,您还需要select2.css文件。它不会神奇地塑造自己的风格:)