一旦有人按下链接并将其显示在另一个页面中,我就会尝试发送数据。我环顾四周,但我尝试的一切并不能让我做我需要的事情。
这是我的HTML。
第1页 手动de Toma de Muestras
<ons-list class="timeline" modifier="inset" ng-controller="namesCtrl">
<ons-list-item class="timeline-li" modifier="tappable" ng-repeat="x in names">
<ons-row onclick="myNavigator.pushPage('muestra.html', { animation : 'slide' } )">
<ons-col>
<div class="timeline-date">{{ x.tat }}</div>
<div class="timline-from">
<span class="timeline-name">{{ x.test }}</span>
<span class="timeline-id">{{ x.dept }}</span>
</div>
<div class="timeline-message">
<strong>Code:</strong>{{ x.code }}<br>
<strong>CPT Code:</strong> {{ x.cptcode }}
</div>
</ons-col>
</ons-row>
</ons-list-item>
</ons-list>
这是控制器
// controller.js
(function() {
var app = angular.module('myApp', ['onsen']);
//Getting Json Data controller
app.controller('namesCtrl', function($scope, $http) {
$http.get("json.php")
.then(function (response) {$scope.names = response.data.doctores;});
});
//Sliding menu controller, swiping management
app.controller('SlidingMenuController', function($scope) {
$scope.checkSlidingMenuStatus = function() {
$scope.slidingMenu.on('postclose', function() {
$scope.slidingMenu.setSwipeable(false);
});
$scope.slidingMenu.on('postopen', function() {
$scope.slidingMenu.setSwipeable(true);
});
};
$scope.checkSlidingMenuStatus();
});
})();
我需要在点击时将{{x.tat}} {{x.test}}等发送到另一个页面。我看到很多东西非常相似,但没有这样的。我试着在
中发送它$scope.myNavigator.pushPage("link/to/some/other/page.html", {param1: {{x.tat}}, param2: {{x.test}}});
但不起作用。我可以得到任何指示吗?
答案 0 :(得分:1)
正如Jesse所提到的,为了检索信息,您需要的代码是:
myNavigator.getCurrentPage().options
但对我来说,似乎你可能在调用pushPage本身时遇到问题。确保您正在编写的内容产生正确的javascript。
<ons-row ng-click="myNavigator.pushPage('somepage.html', {param1: x.tat, param2: x.test})">
onclick
和ng-click
之间存在细微差别 - 在ng-click
中您正在角度上下文中执行所有操作,而在onclick
中它只有js,这意味着您不会#39; t可以访问范围 - 您可以像{{ x }}
那样欺骗它,但如果您不小心,这可能会导致一些问题。
在您的示例代码中,x.tat
和x.test
是字符串 - "value of tat"
和"value of string"
,那么您会得到类似
$scope.myNavigator.pushPage("somepage.html", {param1: value of tat, param2: value of test});
不会引用字符串,您会收到错误消息。我的猜测是,这就是你的情况。添加引号也不是很好,因为您可能决定将x.test
转换为数字,然后您需要删除它们等。
作为一般规则,您应该避免额外的{{ }}
以避免麻烦。
// Good
<ons-row ng-click="myNavigator.pushPage('somepage.html', {param1: x.tat, param2: x.test})">
// Bad
<ons-row onclick="myNavigator.pushPage('somepage.html', {param1: '{{x.tat}}', param2: '{{x.test}}'})">
此外,如果我说的是真的,那意味着您可能在控制台中出现错误。您可以使用right click
→inspect element
→console
进行检查。同样使用检查器(无需单击控制台),您可以查看DOM的呈现方式,并且可以看到角度完成后的最终代码。
这里的Demo可能更容易理解。没有ng-repeat
,但这不是造成问题的原因,所以我认为你应该能够管理。
如果您有什么不明白或者不知道如何继续发表评论,我会回答你:)
答案 1 :(得分:0)
我认为您还希望从您导航的网页中提供一个代码段,描述您是如何尝试阅读该数据的。
我自己没有使用过onsen-ui,但基于the docs,您似乎需要使用myNavigator.getCurrentPage()
来访问您附加到options
的任何自定义键1}}对象。