不能从指令模板访问模块,Angular
Cannot access module from directive template, Angular
我正在尝试为ngAudio
制作包装器组件,包装器本身将是带有控件的播放器-并将与ngAudio的功能进行交互。我有一些作用域问题,我可以将它注入组件的控制器并访问那里的ngAudio
,但我不能从模板的作用域访问它。我试过使用$scope.ngAudio = ngAudio;
之类的东西将ngAudio
设置为范围,但无济于事-如果有人有任何想法,那将是很棒的。我相信它需要某种双向绑定?或者以某种方式从指令级访问ngAudio模块。
组件:
.component('player', {
// isolated scope binding
bindings: {
genre: '=',
track: '=',
ngAudio: '<'
},
templateUrl : '/templates/player-directive-template.html',
// The controller that handles our component logic
controller : function($scope, ngAudio) {
//tried:
//$scope.ngAudio = ngAudio;
ngAudio.play("https://api.soundcloud.com/tracks/167999916/stream?client_id=123456576789");
}
});
模板<div class="container" id="player">
<button class='btn btn-primary' ng-click='ngAudio.paused ? ngAudio.play() : ngAudio.pause()'>{{ngAudio.paused ? "Play" : "Pause" }}</button>
</div>
既然这是一个组件,您是否尝试过…
this.ngAudio = ngAudio;
?
不,实际上,根据文档,您要将其设置为load
或play
的结果,如:
this.audio = ngAudio.play("https://api.soundcloud.com/tracks/167999916/stream?client_id=123456576789");
参见http://danielstern.github.io/ngAudio/#/docs文档中的"Angular Audio Example"部分
相关文章:
- Angular重命名模块后未能实例化模块
- 在Meteor Angular 1.3中使用npm模块
- 如何将Angular 2用于各种网站&使用PHP作为后端的模块
- grunt serve:dist时找不到Angular.js模块,但grunt serve工作正常
- $injector:modulerr将自定义模块注入Angular应用程序
- 如何管理不同的 Angular 模块依赖关系
- 如何检查angular是否已经有模块
- 从函数内部、类内部、模块内部访问 Angular 服务
- 将登录验证模块与现有的Angular JS应用程序集成
- 无法实例化Angular js中的模块错误
- Angular模块仅适用于内联javascript
- 使用Angular JS将常量注入其他模块配置
- 无法在 Angular JS 中加载模块
- 在 Angular js 的不同文件中使用多个模块
- 当作为 CommonJS 模块加载时,Angular 是否全局将自己分配给“window.angular”
- 从 Angular 控制器访问不同模块中的角度服务
- Angular JS生成PDF - 任何创建者 - 制造商模块
- AngularJS - $injector:modulerr 模块错误在 angular.js:36.
- 在 Angular 中动态注入依赖模块
- 无法找到模块'angular'