2016-01-25 257 views
1

我是AngularJS的新手,使用AngularJS和RequireJS构建应用程序。datepicker not in modal

在其中一个带有控制器的模块中,我使用$ modal服务创建了一个模态对话框。模态对话有Angular Schema FormDatepicker Addon

Datepicker需要一些脚本文件才能工作。当我在头部的index.html(主页面)中添加这些脚本文件时,它会在对话框中运行。但我无法更改主页面,所以我尝试在module.js中显示的模块文件中加载依赖项,但它不起作用。

module.js

define(
    [ angular, .../path to datepicker dependencies ], 
    function(angular) { 
     return angular.module("mainctrl", []) 
      .controller("test", function($scope,$modal) { 
       $scope.formOperation=function() { 
        $modal.open({ 
         templateurl:../schema-form.html, 
         controller: modelCtrl 
        }); 
       } 
      }) 
    }); 

下面是主网页的主体部分,其中,如果我在头标签,日期选择器作品添加这些脚本的依赖。

的index.html

<body> 
    <div data-ng-view="" id="ng-view"></div> 

    <script src="bower_components/requirejs/require.js" data-main="../scripts/main"></script> 
</body> 

架构form.html

<div class="modal-content h-widget-action-form"> 
    <style> 
    @import url('/addons/h/widgets/h-action/h-action.css'); 

    </style> 
    <div class="modal-body"> 
    <!-- <i class="glyphicon glyphicon-remove pull-right" data-ng-click="cancel()"></i><br/> 
     <div data-ng-if="message" class="alert" data-ng-class="message.type">{{message.text}}</div> --> 
      <form novalidate name="formCtrl" sf-schema="definition" sf-form="form" sf-model="model"></form> 
    </div> 

</div> 

我检查了头部的index.html由requirejs附加脚本标签,它并包含正确的我所有的日期选择器的依赖顺序(使用shim配置),但仍然不能使用datepicker,除非我在index.html头标记中明确指定这些依赖项。

有谁能告诉我我哪里出错了吗?

+0

你有这里的错字 - '[])。控制器(“”测试“,' – karaxuna

+0

错字不是问题。在我的应用程序是正确的..因为它的工作原理除了日期选择器 – Nitesh

回答

0

我首先想到的是日期选择器组件不是一个模块,这样定义可能无法正确加载它,你尝试过包装它作为一个JavaScript模块,它可能是不够的,它通过
angular.module('schemaForm').directive('pickADate', function() {所以它本身重视角需要能够访问angular显然它被加载的任何范围内。

我想你可能已经解决了这个问题已经给出的年龄。