Angularjs 如何从Angular指令获取数据
我希望有人能帮我举个小例子,因为angular快把我逼疯了:( 我第一次制作的公式应该遵循以下结构: 角度应用程序Angularjs 如何从Angular指令获取数据,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,我希望有人能帮我举个小例子,因为angular快把我逼疯了:( 我第一次制作的公式应该遵循以下结构: 角度应用程序 主控制器 ---->smallController1 -------->其他元素 ---->smallController2 -------->其他元素 ---->指令1(实例1) ---->另一个小型控制器 ---->指令1(实例2) Directive1接收许多属性,每个实例将允许选择许多选项,用户交互的结果应存储在一个对象中,并且应分别从每个实例的mainController
主控制器
---->smallController1
-------->其他元素
---->smallController2
-------->其他元素
---->指令1(实例1)
---->另一个小型控制器
---->指令1(实例2)
Directive1接收许多属性,每个实例将允许选择许多选项,用户交互的结果应存储在一个对象中,并且应分别从每个实例的mainController访问该对象 有人有这样的例子吗 提前感谢,,
John使用emit将数据发送到父控制器。 它可能是接收器,因为正在侦听事件。 关于发射和广播。 在子控制器或指令中,请使用: $scope.$emit('myEvent',object) 这会将对象发送到所有父控制器。 在父控制器中使用: $scope.$on('myEvent',function(event,obj){console.log(obj);})
要侦听发射的对象。请尝试此代码,它可能会帮助您:
var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.name='World';
$scope.masterData=[
{
条目:“不知道”
},
{
条目:“东西”
}
]
})
应用指令(“容器”,功能(){
返回{
替换:正确,
范围:{
数据:'=',
特色:'@'
},
链接:功能(范围){
scope.updateData=函数(){
scope.data.entry=scope.speciality;
}
},
模板:“{data.entry}}update”
}
});
以及模板:
<body ng-controller="MainCtrl">
<p>Master data {{masterData | json}}</p>
<div vessel data="masterData[0]" speciality="eggs"></div>
<div vessel data="masterData[1]" speciality="bacon"></div>
</body>
主数据{{masterData | json}
因此,每个指令都有单独的数据模型,根据用户输入进行更新,以满足您的需求。对吗?从指令中获取数据的最佳方法是将模型附加到指令的自作用域
var-app=angular.module('app',[]);
应用控制器(“主控制器”,
[
“$scope”,
职能($范围){
$scope.myObj=“初始值”;
}
]);
应用程序指令('dirName'[
函数(){
返回{
限制:“A”,
范围:{
obj:“=ngModel”
},
链接:函数(范围、元素、属性){
scope.obj=attrs.newValue;
}
};
}
]);
JS-Bin
这是一个相当模糊的问题,你能更具体一点吗?你想从mainController访问Directive1中的数据吗?在不同的情况下,有很多方法可以做到这一点
<body ng-controller="MainCtrl">
<p>Master data {{masterData | json}}</p>
<div vessel data="masterData[0]" speciality="eggs"></div>
<div vessel data="masterData[1]" speciality="bacon"></div>
</body>