Angular.JS + Require.JS - 访问其他指令控制器

时间:2013-07-17 07:52:45

标签: javascript angularjs requirejs angularjs-directive angularjs-scope

我正在使用带有Require.JS的Angular.JS。我的文件结构类似(示例简化)到下面:

main.js

require( ['controllers', 'directives/priceBox', 'directives/slider'], function() {
    angular.bootstrap(document, ['myApp']);
});

app.js

define(['angular'], function (angular) {
    return angular.module('myApp', []);
});

指令/ slider.js:

define(['app', 'jquery-ui', 'directives/priceBox'], function (app) {
    'use strict';
    app.directive('slider', function() {
        return {
            restrict: 'A',
            template: '<div id="slider"></div>',
            replace: true,
            require: 'priceBox',
            link: function(scope, el, attrs, priceBoxCtrl){

            }
        };
    });
});

指令/ priceBox.js

define(['app'], function (app) {
    app.directive('priceBox', function() {
        return {
            restrict: 'A',
            template: '<div id="price">{{ price }}</div>',
            replace: true,
            controller: function ($scope) {
                console.log('Hi from controller');
            }
        }
    });
});

我想要的是访问priceBox指令中的slider控制器。但是,此代码会引发Error: No controller: priceBox错误。

0 个答案:

没有答案