修改新建的ionic项目中默认根据id进行的通讯录信息匹配
来源:互联网 发布:sql内连接和外连接 编辑:程序博客网 时间:2024/06/07 06:22
用cmd命令ionic start myApp tabs生成项目后,在项目中用ionic serve打开项目后如图所示:
代码中默认的是根据数据的id进行的信息匹配:
项目中services.js的代码:
var chats = [{ id: 10, name: 'Ben Sparrow', lastText: 'You on your way?', face: 'img/ben.png', qq:0 }, { id: 11, name: 'Max Lynx', lastText: 'Hey, it\'s me', face: 'img/max.png', qq:1 }, { id: 12, name: 'Adam Bradleyson', lastText: 'I should buy a boat', face: 'img/adam.jpg', qq:2 }, { id: 13, name: 'Perry Governor', lastText: 'Look at my mukluks!', face: 'img/perry.png', qq:3 }, { id: 14, name: 'Mike Harrington', lastText: 'This is wicked good ice cream.', face: 'img/mike.png', tiaoUrl:'www.baidu.com', qq:4 }]; return { all: function() { return chats; }, remove: function(chat) { chats.splice(chats.indexOf(chat), 1); }, get: function(chatId) {console.log(chatId) for (var i = 0; i < chats.length; i++) { if (chats[i].id === parseInt(chatId)) { return chats[i]; } } return null; } };
跳转页面的地址如下:
里面的get方法可以看出是根据id进行匹配的,要想改为根据name进行匹配的话,要进行如下的修改.
首先对services.js中的get方法进行修改:
代码如下:
//根据名字 get: function(name) { for (var i = 0; i < chats.length; i++) { if (chats[i].name === name) { return chats[i]; } } return null; }
找到chats页面,默认的页面名字为tab-chats.html
修改里面
<ion-item class="item-remove-animate item-avatar item-icon-right" ng-repeat="chat in chats" type="item-text-wrap" href="#/tab/chats/{{chat.id}}"> <img ng-src="{{chat.face}}"> <h2>{{chat.name}}</h2> <p>{{chat.lastText}}</p> <i class="icon ion-chevron-right icon-accessory"></i> <ion-option-button class="button-assertive" ng-click="remove(chat)"> Delete </ion-option-button></ion-item>
href的地址为:#/tab/chats/{{chat.name}}
其实这样就可以实现根据name进行匹配了,但是controllers.js中
.controller('ChatDetailCtrl', function($scope, $stateParams, Chats) {console.log($stateParams) $scope.chat = Chats.get($stateParams.chatId);})
点击其中一条信息进入chat-detail.html页面后,$stateParams打印出的是:{chatId: “Ben Sparrow”},显然chatId不是name,不怎么进行匹配,为了修改为一致的要做如下的操作:
在app.js中把chatId改为name,如下:
.state('tab.chat-detail', { url: '/chats/:name', views: { 'tab-chats': { templateUrl: 'templates/chat-detail.html', controller: 'ChatDetailCtrl' } } })
再把controllers.js中关于chat-detail.html页面的js代码中的chatId改为name,如下所示:
.controller('ChatDetailCtrl', function($scope, $stateParams, Chats) {console.log($stateParams) $scope.chat = Chats.get($stateParams.name);})
这样即可实现根据name进行数据的匹配,相应的想要根据别的字段进行数据匹配方法是一样的。
0 0
- 修改新建的ionic项目中默认根据id进行的通讯录信息匹配
- 新建的maven项目默认jdk版本不匹配_01
- 修改MyEclipse下创建Web项目中新建Jsp的默认编码格式
- 修改eclipse中新建jsp文件的默认编码格式
- 修改右键菜单中新建txt文本文件的默认编码
- 修改右键菜单中新建txt文本文件的默认编码
- 修改unity新建脚本中默认模板的格式
- Rails 3 修改url中默认的的/:id
- 修改 Visual Studio 项目中程序集信息默认公司名称的两种方法
- 修改Visual Studio项目中程序集信息默认公司名称的两种方法
- 修改EmEditor新建文件的默认编码
- Eclipse中新建Android项目时修改默认选项
- 如何修改Android Studio中默认生成的注释信息
- ionic安卓默认的tabs修改为底部显示
- 【Javaweb】修改Eclipse for JavaEE中新建Jsp的默认编码,避免每次新建都要改编码的问题
- 获取通讯录中所有联系人的信息
- 获取手机中通讯录的所有信息
- Eclipse新建Maven项目,修改默认JDK
- maven install Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war (default-wa
- OAF开发入门
- 机器学习(周志华)习题解答2.1-2.9
- Mbed在自己的stm32系列平台移植适配(一)
- javaBean四个作用域范围
- 修改新建的ionic项目中默认根据id进行的通讯录信息匹配
- 建造者模式dialog
- android选择相册图片另存为并在Imageview中显示的相关问题
- 在Hadoop2.X上搭建Hbase
- AngularJS2 表单
- 物联网模块WIFI的AP和STA的区别
- 常见 jar包详解
- 定时任务 Crontab命令 详解
- [Leetcode] #98 Validate Binary Search Tree