angularjs中的jqueryui combo自定义指令

时间:2014-09-03 10:50:54

标签: jquery angularjs jquery-ui combobox angularjs-directive

我正在尝试为jQuery UI ComboBox 创建自定义指令,它应该像自动提示和下拉列表一样工作。 我既没有外观,也没有逻辑。我想在JQueryUI

中使用它
var DataApp = angular.module("DataApp", []);
DataApp.controller('loginCtrl', loginCtrl);
var loginCtrl = function ($scope) {
$scope.listLang = [{
    lang: "AppleScript"}, {
    lang: "Asp"
}, {
    lang: "BASIC"
}, {
    lang: "C"
}, {
    lang: "C++"
}, {
    lang: "Clojure"
}, {
    lang: "COBOL"
}, {
    lang: "ColdFusion"
}, {
    lang: "Erlang"
}];
};

 DataApp.directive('comboBox1', function() {

return {
    restrict  : 'A',
    link: function(scope, element, attrs) {
        $(element).combobox();
        }
}

});

HTML在下面给出

<div ng-app="DataApp">
<div ng-contorller="loginCtrl">
    <div class="ui-widget" combo-box1='{}'>
        <label>Your preferred programming language:</label>
        <select id="combobox" ng-model="list-items" ng-options="listItem.lang for listItem in listLang"></select>
    </div>
</div>

1 个答案:

答案 0 :(得分:0)

如果您在浏览器中打开某种开发人员工具,那么您将在控制台中看到错误:

Uncaught ReferenceError: angular is not defined

如果你在小提琴中尝试AngularJS,那么你应该包括AngularJS&#39;库&#39; (它实际上是一个框架)。

但这不是全部。

Uncaught Error: [$injector:modulerr] Failed to instantiate module DataApp due to:
Error: [$injector:nomod] Module 'DataApp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

您可以在此处阅读此问题:

AngularJS: Uncaught Error: [$injector:modulerr] Failed to instantiate module?

但即便如此,由于Fiddle服务的运行方式会出现更多错误。相反,我建议您尝试http://plnkr.co/服务,因为它为您提供了AngularJS模板,因此您可以运行一个简单的应用程序。

但这是我如何使视觉效果工作

http://jsfiddle.net/walts/53b7g83c/

要使逻辑正常工作,您需要阅读有关AngularJS的更多信息。