我想触发一个包含jQuery指令的AngularJS自定义指令。如何做呢?我已经在指令中阅读了关于发射功能的信息?
想法?
您可以使用服务在控制器和指令之间进行通信。
服务可能如下所示:
app.service("directiveService", function() {
var listeners = [];
return {
subscribe: function(callback) {
listeners.push(callback);
},
publish: function(msg) {
angular.forEach(listeners, function(value, key) {
value(msg);
});
}
};
});
该指令可以响应服务:
app.directive("jQueryDirective", function(directiveService) {
directiveService.subscribe(function(msg) {
// pretend this is jQuery
document.getElementById("example")
.innerHTML = msg;
});
return {
restrict: 'E'
};
});
只需将我所做的替换为jQuery操作,您就应该拥有所需的东西。
这是一个有效的小提琴:http :
//jsfiddle.net/jeremylikness/wqXYx/
问题内容: 在上一个问题之后,我现在尝试从指令中调用父控制器上的方法。我得到一个未定义的参数。这是我的工作: 和脚本: 调用updatePerson方法时,person是未定义的。 jsfiddle在这里:http : //jsfiddle.net/graphicsxp/Z5MBf/7/ 问题答案: 只需简单地如下更改您的html 您没有通过updatePerson传递“人”,这就是为什么它不起作
问题内容: 我可能会考虑将其完全倒退,但是我正在尝试制作三个嵌套指令,让它们称为:屏幕,组件和小部件。我希望窗口小部件能够触发组件中的某些行为,从而触发屏幕中的某些行为。所以: 我可以使用来在小部件的链接fn中要求父组件,但是如何进一步使组件控制器访问其包含的屏幕呢? 我需要的是WHAT in组件,因此,当您单击小部件的按钮时,它会发出“ screeny!”警报。 谢谢。 问题答案: 您可以通过以
问题内容: 我正在尝试使用AngularJS创建我的第一个应用程序。但是,如果我需要针对特定情况使用指令,我会感到困惑。 我有一个简单的“地图”页面,需要在其中显示所选区域的纬度/经度值。目前,我根本没有使用指令。我在控制器中执行所有操作,并使用局部显示结果。我不打算在其他任何地方重用我的地图视图。这就是为什么我不觉得我需要指令。 另一方面,我读到某个地方,每次您尝试在控制器中操作DOM(我正
问题内容: 我有一个具有自己的控制器的指令。请参见以下代码: 这旨在成为错误/通知/警告的通知系统。我想做的是从另一个控制器(不是指令控制器)调用此控制器上的函数。当我这样做时,我还希望我的链接函数检测到某些属性已更改并执行了一些动画。 这是一些代码来举例说明我要的内容: 所以打电话时开启指令控制器,链接功能也应该被触发,执行动画。我该如何实现? 问题答案: 这是一个有趣的问题,我开始考虑如何实现
如果不使用隔离作用域,我似乎找不到从指令中调用父作用域上的函数的方法。我知道如果我使用隔离作用域,我可以使用“ 在这个简单的示例中,我想显示一个JavaScript确认对话框,并且只有在确认对话框中单击“确定”时才调用doIt()。使用隔离范围很简单。指令如下所示: 但问题是,因为我使用的是隔离作用域,所以上面示例中的ng hide不再针对父作用域执行,而是在隔离作用域中执行(因为在任何指令上使用
我正试图在Rails中通过服务器发送事件来实现流媒体直播。我有一个Rake任务,用于监听文件更改,从而将记录添加到数据库中。一旦添加,我想发送一个SSE到前端。 但是,模型不能将事件发送到前端,这是由控制器负责的。如何告诉我的控制器向数据库中添加了新记录? 到目前为止,我的(坏的)解决方案是:在模型中使用EventBus,在保存后回调,宣布更改并要求控制器侦听以下消息: 我认为我的请求在收到事件之