假设我有一个如下所示的 AngularJS 指令:
app.directive('psDIR', [
function() {
return {
template: "<div style='padding: 5px; border: 1px solid red; margin-bottom: 10px;'><p>This is a direcive:</p> <textarea rows='5' cols='50' ng-model='md'></textarea></div>",
restrict: 'AEC',
scope: {}
}
}
]);
我在单个页面上多次使用此指令。如何在我的 MainCtrl
中获取 ng-model="md"
的每个指令实例/范围的值(即我想将此值保存在 添加()
) :
app.controller('MainCtrl', ['$scope',
function($scope) {
console.log("init");
$scope.add = function() {
console.log($scope);
}
}
]);
Plunker 演示:http://embed.plnkr.co/Q5bw6CBxPYeNe7q6vPsk/preview
非常感谢任何建议。
最佳答案
由于您正在创建独立范围,否则您也无法从父范围访问子范围。
将模型作为参数从父类传递的出路
<div class="psDIR" model='field2'></div>
<div class="psDIR" model='field1'></div>
然后在指令中用属性绑定(bind)更新它们。查看更新 plunkr
关于AngularJS:从 Controller 访问指令数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22303931/