角度流星v0.9を使用
あらかじめパッケージ化されたAngularMeteor-SmartAdminサンプルアプリを正しくロードしようとしています
エラーの取得:
Error: [ng:btstrpd] App Already Bootstrapped with this Element 'document'
このエラーが発生する理由と場所を把握する方法はありますか?
これが私の流星リストです:
angular:angular-animate 1.4.0 AngularJS (official) release. For full...
angular:angular-cookies 1.4.0 AngularJS (official) release. For full...
angular:angular-resource 1.4.0 AngularJS (official) release. For full...
angular:angular-route 1.4.0 AngularJS (official) release. For full...
angular:angular-sanitize 1.4.0 AngularJS (official) release. For full...
angularui:angular-ui-router 0.2.15 angular-ui-router (official): Flexibl...
angularui:ui-utils 0.2.4 Angular-ui-utils package for meteor.
autopublish 1.0.3 Publish the entire database to all cli...
cfs:http-methods 0.0.29 Adds HTTP.methods RESTful
gsklee:ngstorage 0.3.0 ngStorage package for Meteor
http 1.1.0 Make HTTP calls to remote servers
insecure 1.0.3 Allow all database writes by default
less 1.0.14 The dynamic stylesheet language
meteor-platform 1.2.2 Include a standard set of Meteor packa...
planettraining:angular-translate 2.7.0 Angular Translate
planettraining:angular-translate-loader-static-files 2.7.0 Angular Translate
planettraining:angular-translate-loader-url 2.7.0 Angular Translate
planettraining:angular-translate-storage-cookie 2.7.0 Angular Translate
planettraining:angular-translate-storage-local 2.7.0 Angular Translate
selchenkov:angular-bootstrap-ui 0.0.1 Meteor
urigo:angular 0.9.0
問題は、index.ng.html
のng-include内のindex.html
のファイルパスにあります
そのはず
<div ng-include="'client/index.ng.html'">
</div>
Angular Meteor チュートリアルで説明されているように、パスは常に絶対です
注意することは非常に重要です-パスは常に絶対的であり、相対的ではありません!したがって、「index.ng.html」がクライアントフォルダー内にある場合は、ファイルの呼び出し元に関係なく、ルートアプリからパス全体を配置する必要があります。このように(たとえば、index.ng.htmlが「client」フォルダにあった場合):
<div ng-include="'client/index.ng.html'"></div>
それはあなたがあなたの体やdivを不適切に呼んでいるからです。 _<div ng-app="app1" ng-controller="controller1">/*code or UI here*/</div>
_を試してください。 2番目のレネーダーをその中に_<div id="app" ng-app="app2" ng-controller="controller2">/*code or UI here*/</div>
_させます。これで、angular.element(document).ready(function () { var appID = document.getElementById('app'); angular.bootstrap(appID, ['app2']); });
を呼び出すことができます
angularコントローラーで、2つのAngularコントローラー間の競合を回避します。したがって、両方のコントローラーはアトミックであるため、1ページで使用されています。