在是/否的基础上将控制器中的项目保存到数组中
Save items from controller into array on Yes / No basis
在使用 angularJS 时遇到了一些问题,我只用了两个星期,而且我的 javascript 知识也不存在,所以请考虑到这一点。
我目前正在制作一个听力测试应用程序,除了我内置的报告系统外,所有功能都可以正常工作。
我想根据是/否记录他们从这两个按钮听到声音的频率和分贝。
<button ng-click='' type="button" class="btn btn-primary btn-lg glyphicon glyphicon-ok"></button>
<button ng-click='' type="button" class="btn btn-default btn-lg glyphicon glyphicon-remove"></button>
这里以我的一个 125HZ 0DB 控制器为例。
// 125 FREQUENCY START
myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio) {
$scope.title = "Frequency: 125Hz";
$scope.frequency = "0Db";
$scope.sound = ngAudio.load("audio/125_0.mp3"); // returns NgAudioObject
$scope.previous =""
$scope.next ="125Ten"
}]);
我希望将 $scope.title 和 $scope.frequency 属性记录到数组中以供以后处理。
这就是我的想法
function result() {
$scope.results = [];
$scope.resultService = function(){
$scope.results.push();
}
}
没有结果,我想将标题和频率都保存到数组中,并允许程序移动到下一个控制器,如果听到频率则执行相同的操作。
感谢您的帮助或想法。
如果我的代码不是最干净或理想的,我深表歉意,但正如我所解释的,这是我使用 AngularJS
的第二周
谢谢。
Add event listeners to the buttons:
<button ng-click='buttonPressed('okay")' type="button" class="btn btn-primary btn-lg glyphicon glyphicon-ok"></button>
<button ng-click='buttonPressed("remove")' type="button" class="btn btn-default btn-lg glyphicon glyphicon-remove"></button>
在您的控制器中,添加这些方法:
myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio) {
$scope.title = "Frequency: 125Hz";
$scope.frequency = "0Db";
$scope.sound = ngAudio.load("audio/125_0.mp3"); // returns NgAudioObject
$scope.previous ="";
$scope.next ="125Ten";
$scope.buttonPressed= function(outcome) {
$scope.result = [];
var tempObj = {};
tempObj.title = $scope.title;
tempObj.frequency = $scope.frequency;
// check for outcome to find out if it's okay or remove.
//based on that set the frequency here.
$scope.result.push(tempObj);
// add this to service
}
}]);
要在下一个控制器中获取此值:
您需要将 $scope.result
存储在服务中。因此,创建一个服务并将 $scope.result 推入该服务。
在你的第二个控制器中,将该服务作为依赖项注入并访问那里的值。
在使用 angularJS 时遇到了一些问题,我只用了两个星期,而且我的 javascript 知识也不存在,所以请考虑到这一点。
我目前正在制作一个听力测试应用程序,除了我内置的报告系统外,所有功能都可以正常工作。
我想根据是/否记录他们从这两个按钮听到声音的频率和分贝。
<button ng-click='' type="button" class="btn btn-primary btn-lg glyphicon glyphicon-ok"></button>
<button ng-click='' type="button" class="btn btn-default btn-lg glyphicon glyphicon-remove"></button>
这里以我的一个 125HZ 0DB 控制器为例。
// 125 FREQUENCY START
myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio) {
$scope.title = "Frequency: 125Hz";
$scope.frequency = "0Db";
$scope.sound = ngAudio.load("audio/125_0.mp3"); // returns NgAudioObject
$scope.previous =""
$scope.next ="125Ten"
}]);
我希望将 $scope.title 和 $scope.frequency 属性记录到数组中以供以后处理。
这就是我的想法
function result() {
$scope.results = [];
$scope.resultService = function(){
$scope.results.push();
}
}
没有结果,我想将标题和频率都保存到数组中,并允许程序移动到下一个控制器,如果听到频率则执行相同的操作。
感谢您的帮助或想法。
如果我的代码不是最干净或理想的,我深表歉意,但正如我所解释的,这是我使用 AngularJS
的第二周谢谢。
Add event listeners to the buttons:
<button ng-click='buttonPressed('okay")' type="button" class="btn btn-primary btn-lg glyphicon glyphicon-ok"></button>
<button ng-click='buttonPressed("remove")' type="button" class="btn btn-default btn-lg glyphicon glyphicon-remove"></button>
在您的控制器中,添加这些方法:
myApp.controller('125Zero', ['$scope','ngAudio', function($scope, ngAudio) {
$scope.title = "Frequency: 125Hz";
$scope.frequency = "0Db";
$scope.sound = ngAudio.load("audio/125_0.mp3"); // returns NgAudioObject
$scope.previous ="";
$scope.next ="125Ten";
$scope.buttonPressed= function(outcome) {
$scope.result = [];
var tempObj = {};
tempObj.title = $scope.title;
tempObj.frequency = $scope.frequency;
// check for outcome to find out if it's okay or remove.
//based on that set the frequency here.
$scope.result.push(tempObj);
// add this to service
}
}]);
要在下一个控制器中获取此值:
您需要将 $scope.result
存储在服务中。因此,创建一个服务并将 $scope.result 推入该服务。
在你的第二个控制器中,将该服务作为依赖项注入并访问那里的值。