gpt4 book ai didi

angularjs - 访问指令模板内的 $scope 变量并更新 Controller $scope.variable

转载 作者:行者123 更新时间:2023-12-03 08:17:45 26 4
gpt4 key购买 nike

我创建了一个带有输入元素和跨度的简单指令。使用指令我创建了两个具有隔离范围的自定义元素。现在,我正在尝试获取在指令的 input 元素中输入的数据的总和。但是实在想不通怎么办。
这是我的 Controller 和指令:

angular.module('mapp',[])

.controller('ctrl',['$scope',function($scope){
$scope.total = 0;
}])

.directive('customElement',function(){
return {
restrict: 'E',
scope:{
data: '=info'
},
template: '<input type="text" ng-model="data1">\
<span>{{data1}}</span>'
}
});

我想总结 data1所有指令元素和更新 $scope.total .这是 HTML 代码:
<div ng-app="mapp">
<div ng-controller="ctrl">

<custom-element info="a"></custom-element>
<custom-element info="b"></custom-element>
<br/>
<br/> Total: <span>{{total}}</span>
</div>
</div>

这是一个 DEMO

最佳答案

Here是一个工作 fiddle

angular.module('mapp', [])

.controller('ctrl', ['$scope', function ($scope) {
$scope.total = 0;
$scope.a = 0;
$scope.b = 0;
$scope.$watchCollection('[a,b]', function () {
console.log('watch');
$scope.total = $scope.a + $scope.b;
});
}])

.directive('customElement', function () {
return {
restrict: 'E',
scope: {
data: '=info'
},
template: '<input type="number" ng-model="data">\
<span>{{data}}</span>'
}
});

A version without $watch

A version with ng-repeat

关于angularjs - 访问指令模板内的 $scope 变量并更新 Controller $scope.variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28622489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com