2016-08-04 34 views
0

嗨我是新的angularjs我想知道是否有可能发送的东西已经加载在视图从JSON回控制器。 我想要做的是将字母发回控制器,并创建一种方式来迭代它们与intervale然后改变每个控制器的样式现在我卡住,因为我无法得到ng-module = “单一的” 回间隔控制器名称如何从angularjs中的json更改控制器与视图

这里是视图

<!DOCTYPE html> 
<html lang="en-us" ng-app="App"> 
<body ng-controller="mainController" ng-click="textArea = textArea + 1"> 
     <div ng-controller="clickController"> 
<div class="container"> 

      <div ng-controller="intervalController"> 

       <ul class="general_button"ng-repeat="letter in language[0].rows"> 
        <button type="button" ng-model="single += single" class="btn btn-info" ng-repeat="single in letter"> 
         {{single}} 
        </button> 
       </ul> 

       <div > 

        <h1 ng-mousemove="textArea = textArea + 1">Mouse over me!</h1> 

        <label for="inputlg">input-lg</label> 
        <input class="form-control input-lg" id="inputlg" type="text" value="{{ textArea }}"> 
       </div> 

      </div> 
     </div> 


    </div> 
    </body> 
</html> 

这里是控制器

var App = angular.module('App', []); 
var theLanguage = 'english'; 
App.controller('mainController', function($scope, $http,$log) { 
    $http.get(theLanguage + '.json') 
     .then(function(res){ 
      $scope.language = res.data;     
     }); 
$log.debug('Hello Debug!'); 
}); 

App.controller('intervalController', function($scope, $log) { 
    this.$log = $log; 
    var name = $scope.single; 

    $log.log(name); 
    $log.log('Hello World!'); 

}); 

App.controller('clickController', function($scope) { 

}); 

,这里是将JSON

[{ 
    "rows":[[ 
     "a", 
     "e", 
     "u", 
     "i", 
     "o", 
     "y" 
    ], 
    [ 
     "b", 
     "c", 
     "d", 
     "f", 
     "g" 
    ], 
    [ 
     "h", 
     "i", 
     "j", 
     "k", 
     "l" 
    ], 
    [ 
     "m", 
     "n", 
     "p", 
     "q", 
     "r" 
    ], 
    [ 
     "s", 
     "t", 
     "v", 
     "w", 
     "x z" 
    ] 
]}] 

在此先感谢您的帮助,有关如何更好地完成此任务的任何建议也将不胜感激。

回答

1

尝试在同一元素上设置ng-model和ng-repeat是个坏主意。你已经有模特了,信。字母与视图绑定,所以用户在字母上改变的任何东西都可以在控制器中访问。你应该能够只是删除

ng-model="single += single" 

然后interate在信控制器内部:

angular.forEach($scope.letter, function(single) { 
    //do something with single 
}); 
+0

我尝试添加angular.forEach($ scope.letter,功能(单){$ 日志。 log(single); });但它似乎没有工作 –

相关问题