我再次需要你的帮助!
我正在努力获取一个角度组件(ui-bootstrap-datetimepicker)来加载在我的角度代码之外加载的wicket组件。
这是目前的样子
来自Wicket的HTML
<span class="dropdown">
<a class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#" href="">
<div class="input-append">
<input type="text" placeholder="Date/Time Value" class="input-large" data-ng-model="data.storedValue" required date-time-input="MM/DD/YYYY hh:mm a">
<button type="button" class="btn"><i class="icon-calendar"></i></button>
</div>
</a>
<ul class="dropdown-menu">
<datetimepicker data-ng-model="data.storedValue" data-datetimepicker-config="{ dropdownSelector: '.dropdown-toggle', minView: 'minute', minuteStep: 1 }"></datetimepicker>
</ul>
</span>
运行以编译角度的Javascript
var $injector = angular.injector(['app', 'ui.bootstrap']);
var selector = this.selector;
$injector.invoke(function($rootScope, $compile) {
var element = $compile(angular.element(selector))($rootScope);
element.scope().$apply();
angular.element(selector).scope().$apply();
});
app
是我的角度应用模块。
这会有效地呈现组件并显示下拉列表,但不会填充日期。
我已经尝试了其他几种配置,但要么是让事情变得更糟,要么根本没有帮助。提问,我会尽我所能回答!
修改 此外,我在我的控制台中收到一堆错误,这可能会有所帮助:P
答案 0 :(得分:0)
当然,在我发布之后,我发现了我做错了什么......
javascript部分应该看起来像......
var $injector = angular.element(document).injector();
var selector = this.selector;
$injector.invoke(function($rootScope, $compile) {
var element = $compile(angular.element(selector))($rootScope);
element.scope().$apply();
angular.element(selector).scope().$apply();
});
我需要从主应用程序中获取注射器而不是构建新的注射器。一旦我这样做,它就能够构建日历。它导致了许多其他问题,但至少该组件正在渲染!