在离子框架中,我试图有条件地隐藏菜单按钮.由于其他原因,我不得不在自己的控制器中拆分菜单(我不想在刷新时完全重新渲染菜单和标题栏),因此标题不在离子视图中.我在标题的控制器中创建了条件变量(状态参数)的观察器.控制台日志正确输出条件变量,但视图未更新(菜单按钮始终显示).
这是模板:
<ion-side-menus>
<ion-side-menu-content>
<ion-nav-bar class="bar-stable nav-title-slide-ios7">
<ion-nav-back-button ng-if="!isHome" class="button-clear"><i class="icon ion-ios7-arrow-back"></i>Back</ion-nav-back-button>
<button ng-if="isHome" menu-toggle="left" class="button button-icon icon ion-navicon"></button>
<h1 class="title">Title</h1>
</ion-nav-bar>
<ion-nav-view name="menuContent" animation="slide-left-right"></ion-nav-view>
</ion-side-menu-content>
...
</ion-side-menus>
Run Code Online (Sandbox Code Playgroud)
在控制器中:
$scope.$watch(function(){
return $stateParams.contentUrl;
},
function(newVal){
console.log(newVal);
if(!newVal || newVal === 'someParam'){
$timeout(function(){
$scope.$apply(function(){
$scope.isHome = true;
});
console.log("home");
});
} else {
$timeout(function(){
$scope.$apply(function(){
$scope.isHome = false;
});
console.log("not home");
});
}
});
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?或者我在这里遗漏了什么?
单击按钮时,我正在测试的页面会发出 POST ajax 请求。我想测试一下,此请求中发送的参数是否正确。我该怎么办?
这是,我试过的:
import {RequestLogger, Selector} from '../../../node_modules/testcafe';
const requestUrl = 'http://localhost:8080/mypage/posttarget';
const logger = RequestLogger({url: requestUrl, method: 'post'}, {logRequestBody: true, logRequestHeaders: true});
fixture `Notifications`.page('http://localhost:8080/mypage')
.requestHooks(logger);
test('notification request contains id', async t => {
await t
.click('#submit-notification')
.expect(logger.request.body.id)
.eql(1)
;
});Run Code Online (Sandbox Code Playgroud)
但是 logger.request 是未定义的。logger.requests.length 也是 0。
如果有人可以告诉我如何检查请求正文,我将不胜感激?
在我正在处理的应用程序中,服务为应用程序提供了一个包含HTML的json.我在这样的模板中输出HTML:
<div ng-bind-html="renderHtml(widget.article.body)"></div>
Run Code Online (Sandbox Code Playgroud)
此HTML可能包含自定义指令,如内联图表:
directiveModule.directive('inlineChart', function(){
return {
restrict: 'A',
scope: { inline-widget:'=elem' },
template: '<p ng-bind="inline-widget.blah"></p>'
};
});
Run Code Online (Sandbox Code Playgroud)
如果我在模板中正常使用该指令,一切正常,但在使用带有renderHtml函数的ng-bing-html时似乎没有被触及.
任何有关如何实现这一点的建议都非常感谢!