移動開發中使用Onsen UI的筆記


onsen  var m_index =  ons.bootstrap() 初始化框架
m_index 賦值 增加對象。

m_index.value('getUser',{
// user:window.localStorage.getItem("user")//生產
userCode:"xuhaiyong"
});

m_index.service('loadTaskCountService',function($http,getUser,getUrl){
this.loadTaskCount = function($scope,done){
var user = getUser.userCode;  //獲得對象值
var url = getUrl.url;
$http({ //http請求,發送get請求
method:'GET',
url:url,
params:{ //參數
appId:'deptperformance',
Invoke:'getTaskCount',
methodId:'getTaskCount',
userCode:user,
phoneType:'html5'
}
})

.success(function(data,status,headers,config){//返回成功 獲得數據 請求頭 和相關信息
if(data.resCode == '0'){
$scope.countLeaderEval = data.countLeaderEval;//領導評估待辦數   //為$scope 添加變量 完成數據綁定
$scope.countFinalResult = data.countFinalResult;//最終下發待辦數
}else
{
ons.notification.alert({message:'請求失敗!'});
}
}).error(function(data,status,headers,config){
$scope.countLeaderEval = 0;    //返回失敗    為數量 添加默認值。
$scope.countFinalResult = 0;
ons.notification.alert({message:'請求超時!'});
}).finally(function(){
if(done){
done();
}
})
}
});

  初始化 控制器,

m_index.controller('c_index', ['$scope','$timeout','loadTaskCountService',function($scope,$timeout,loadTaskCountService){
    ons.ready(function(){
        loadTaskCountService.loadTaskCount($scope,null);
    });

頁面跳轉 相關操作:

 /*
        打開待辦列表
     */
    $scope.getLeaderTaskList = function(){
        IndexNavigator.pushPage("leaderTaskList.html",{animation:"fade"});
    }

  

IndexNavigator為<ons-navigator var = "IndexNavigator"></ons-navigator>
IndexNavigator位置 位於<body>之下 個人認為是為了替換當前dom 

angularjs 的模塊化

使用模塊來聲明應用應該如何啟動。這種方式有以下幾個優點:

1.啟動過程是聲明式的,所以更容易懂。
2.在單元測試是不需要加載全部模塊的,因此這種方式有助於寫單元測試。
3.可以在特定情況的測試中增加額外的模塊,這些模塊能更改配置,能幫助進行端對端的測試。
4.第三方代碼可以打包成可重用的模塊。
5.模塊可以以任何先后或者並行的順序加載(因為模塊的執行本身是延遲的)。

指定ng-app="myApp" 在想要 管理的內容內,這個內容就是一個模塊了和其他的模塊沒有關系。

推薦是將你的應用拆分成以下幾個模塊:

1.一個服務模塊,用來做服務的聲明。
2.一個指令模塊,用來做指令的聲明。
3.一個過濾器模塊,用來做過濾器聲明。
4.一個依賴以上模塊的應用級模塊,它包含初始化代碼。

<!doctype html>
<html ng-app="xmpl">
 <head>
  <script src="http://code.angularjs.org/angular-1.0.2.min.js"></script>
  <script src="script.js"></script>
 </head>
 <body>
  <div ng-controller="XmplController">
   {{ greeting }}!
  </div>
 </body>
</html>
[/code]
 
script.js:
 
[code]
angular.module('xmpl.service', []).   //服務模塊
 value('greeter', {    //自定義greeter對象
  salutation: 'Hello',
  localize: function(localization) {
    this.salutation = localization.salutation;
  },
  greet: function(name) {
    return this.salutation + ' ' + name + '!';
  }
 }).
 value('user', {   //自定義user對象
  load: function(name) {
    this.name = name;
  }
 });
angular.module('xmpl.directive', []);  //指令模塊
angular.module('xmpl.filter', []);   //過濾器模塊
angular.module('xmpl', ['xmpl.service', 'xmpl.directive', 'xmpl.filter']).  //模塊xmpl依賴於數組中的模塊
 run(function(greeter, user) {
  // 初始化代碼,應用啟動時,會自動執行
  greeter.localize({
    salutation: 'Bonjour'
  });
  user.load('World');
 })
// A Controller for your app
var XmplController = function($scope, greeter, user) {
   $scope.greeting = greeter.greet(user.name);
}

  

<!doctype html>
<meta charset="utf-8">
<link rel="stylesheet" href="lib/onsen/css/onsenui.css">
<link rel="stylesheet" href="lib/onsen/css/onsen-css-components.css">
<script src="lib/onsen/js/angular/angular.js"></script>
<script src="lib/onsen/js/onsenui.js"></script>
<script>
  ons.bootstrap();
  ons.ready(function() {
    // Add another Onsen UI element
    var content = document.getElementById("my-content");
    content.innerHTML="<ons-button>Another Button</ons-button>";
    ons.compile(content); //dom中插入新元素 是onsen 框架 中的 應該是用這個處理下的
  });
</script>
<body>
  <ons-navigator title="Navigator" var="myNavigator">
    <ons-page>
      <ons-button onclick="myNavigator.pushPage('page2.html')">Next Page</ons-button>
      <div id="my-content"></div>
    </ons-page>
  </ons-navigator>
</body>

  

 

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="lib/onsen/css/onsenui.css"/>
    <link rel="stylesheet" href="lib/onsen/css/onsen-css-components.css"/>
    <script src="lib/onsen/js/angular/angular.js"></script>
    <script src="lib/onsen/js/onsenui.js"></script>
    <script>
      var module = ons.bootstrap('my-app', ['onsen']);
      module.controller('AppController', function($scope) { });
      module.controller('PageController', function($scope) {
        ons.ready(function() {
          // Init code here
        });
      });
    </script>
  </head>
  <body ng-controller="AppController">
    <ons-navigator var="navigator">
      <ons-page ng-controller="PageController">
        <!-- Page content -->
      </ons-page>
    </ons-navigator>
  </body>
</html>

  

官方網站:https://onsen.io/reference/javascript.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM