2017-11-15 5 views
-1

AngularJS、RequireJS、および後でロードされるコンポーネントの環境に問題があります。私の本当の環境ではAngularJS、RequireJS、およびブートストラップ後のコンポーネント

requirejs.config({ 
 
    paths: { 
 
     'angular': ['//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.0/angular.min'] 
 
    }, 
 
    shim: { 
 
    \t \t angular: { exports: 'angular' }, 
 
    } 
 
}); 
 

 
define('testComponent', ['angular'], function(angular) { 
 
    angular.module('heroApp').component('test', { 
 
    template: '<span>Thank you very much!</span>' 
 
    }); 
 
}); 
 

 
require(['angular'], function(angular) { 
 
    angular.module('heroApp', []).controller('MainCtrl', function MainCtrl() { 
 
    this.hero = { 
 
     name: 'Spawn' 
 
    }; 
 
    }); 
 

 
    angular.module('heroApp').component('heroDetail', { 
 
    template: '<span>Name: {{$ctrl.hero.name}}</span>', 
 
    bindings: { 
 
     hero: '=' 
 
    } 
 
    }); 
 
    
 
    angular.bootstrap(document, ['heroApp']); 
 
    
 
    require(['testComponent'], function() {}); 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.5/require.min.js"></script> 
 
<div ng-controller="MainCtrl as ctrl"> 
 
    <b>Hero</b><br /> 
 
    <hero-detail hero="ctrl.hero"></hero-detail><br /><br /> 
 
    <b>And something else:</b><br /> 
 
    <test>This should go away...</test> 
 
</div>

私はコントローラーなど、ディレクティブ、サービスの多くを持っているし、すべてが正常にロードされます。私は依存関係を必要とし、それらが読み込まれます。しかし、私はコンポーネントを使用したいので、動作を停止します。

これまで/作業中: コントローラ、ディレクティブ、サービスなどを使用し、必要に応じて物をロードします。

Now/not working: コンポーネントを追加し、必要な場合にのみロードします。

答えて

-1

コンポーネントが機能していました。あなたの一番上を参照してください - heroDetailtestコンポーネントを正しく定義していませんでした。

https://jsfiddle.net/6uy4crrm/

関連する問題