我有一个指令,现在我想将相同的数据发送到其他控制器的方法,这个控制器完全独立于该指令。这个其他控制器实际上驻留在当前目录中。
我怎么能在angularjs中做到这一点?
答案 0 :(得分:3)
创建角度服务并注入两个控制器。从控制器1更新该服务中的变量,并在控制器2中检索。像这样 -
myApp.factory('myFactory', function () {
// declare and store the value in a local variable here
var prop = '';
return {
getProperty: function () {
return prop;
},
setProperty: function(value) {
prop = value;
}
};
});
function Ctrl1($scope, myFactory) {
myFactory.setProperty('myValue');
}
function Ctrl2($scope, myFactory) {
val = myFactory.getProperty();
}
角度服务是Singleton,因此它在整个代码中保持状态。
答案 1 :(得分:1)
在angularjs中有一个关于指令范围的想法。它允许你用3种方式使用指令数据。
1)string @
2)biDirectional =
3)功能性&
我想你已经听说过这些。这个链接也许可以帮到你。 https://docs.angularjs.org/api/ng/service/ $编译#指令定义对象