在angularjs中,我想像这样使用button
,但是我仍然需要寻找按钮。
<button href="#/new-page.html">New Page<button>
就像a
(链接)那样
<a href="#/new-page.html">New Page</a>
有没有比这更简单的方法?
<button ng-click="newPage()">New Page<button>
$scope.newPage = function (){
location.href = '#/new-page.html';
};
注意:从根本上说,当我习惯于location.href
导航时,整个页面会刷新,并且导航不受angularjs的控制。如果我不使用链接,如何在javascript代码中导航页面?
我是否需要创建一个自定义指令来实现?
您ngClick
是正确的;您只需要正确的服务。$location
是您要寻找的。查看文档以获取全部详细信息,但是针对您特定问题的解决方案是:
$location.path( '/new-page.html' );
该$location
服务将根据您当前的设置在适当的情况下添加哈希(#),并确保不会发生页面重新加载。
如果这样选择,您还可以使用指令做一些更灵活的事情:
.directive( 'goClick', function ( $location ) {
return function ( scope, element, attrs ) {
var path;
attrs.$observe( 'goClick', function (val) {
path = val;
});
element.bind( 'click', function () {
scope.$apply( function () {
$location.path( path );
});
});
};
});
然后您可以在任何东西上使用它:
<button go-click="/go/to/this">Click!</button>
有很多方法可以改进此指令;只是为了说明可以做什么。这是一个在实践中演示的Plunker:http
://plnkr.co/edit/870E3psx7NhsvJ4mNcd2?p=preview 。
我已经使用空手道6个月了,我真的对它提供的功能印象深刻。我知道空手道是为了单独测试API,但我们也试图将它用于E2E测试,这涉及到一步一步地调用多个场景。我们的功能文件如下1。调用功能1:Scenario1 2。调用功能2:Scenario2....注意:我们正在重新使用一个用于API测试和E2E测试的场景,有时我发现很难记住所有的特性文件。我们是否可以像java那样链式调用场景,我怀疑特性文件会
问题内容: 我正在建立一个带有flask的网站,其中用户具有帐户并能够登录。我正在使用flask-principal作为登录部分和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask-principal文档中找不到该文件。 我想到了一种手动方法,在登录时在服务器端设置一个带有时间标签的变量,并在用户执行下一个操作时,服务器会验证该时间戳记上的时间增量并删除会话。
问题内容: 我正在建立一个带有flask的网站,其中用户具有帐户并能够登录。我正在使用flask- principal作为登录部分和角色管理。有没有办法让用户的会话在5分钟或10分钟后过期?我在flask文档或flask- principal文档中找不到该文件。 我想到了一种手动方法,在登录时在服务器端设置一个带有时间标签的变量,并在用户执行下一个操作时,服务器会验证该时间戳记上的时间增量并删除会
问题内容: 我正在研究Java应用程序的一部分,该应用程序将图像作为字节数组,将其读入实例,然后将其传递给第三方库进行处理。 对于单元测试,我想获取一个图像(从磁盘上的文件中获取),并断言它等于代码处理过的同一图像。 我的 预期 是使用从磁盘上的PNG文件读取的。 我的 测试 代码将相同的文件读入A,并将其作为PNG写入字节数组,以提供给被测系统。 当被测系统将字节数组写入新数组时,我想断言这两个
我一直在尝试制作这样的GUI: 然而,我遇到的困难是,我需要使按钮的文本可变-每个按钮应该提供不同的选项,可以在文本长度上有所不同。虽然这本身并不困难,但我尝试了无数不同的方法,但我无法让按钮居中,尽管它们的文本长度。无论我尝试什么,我总是有以下问题之一: 按钮不居中(左边有空间,但它们超过了右边的窗口) 由于某种原因,问题和Goodratio根据按钮大小更改位置 我不知道该怎么做。有没有人对做这
问题内容: 上面显示了以下错误: 因此,我必须这样做: 但是,没有简单的方法可以做到这一点吗? 问题答案: 要删除列表中元素的首次出现,只需使用: 请注意,它不会删除所有出现的元素。为此使用列表理解。