我有一个从搜索返回的对象索引.模板具有ng-repeat,其中项目的URL由模型中的数据构成,但在最终标记中,"a"标记不起作用.ng-href和href是正确的,当单击链接但页面未加载时,URL栏会更改.单击确实获取页面后执行浏览器刷新.因此,Angular中的某些内容正在更改URL栏但不会触发加载???
无法在jsfiddle中重现这个问题,因为问题似乎是在$ resource.query()函数之后将json加载到模板中,我无法从jsfiddle执行此操作.通过模拟查询加载静态数据,即使最终标记看起来相同,jsfiddle也可以工作.
AngularJS模板如下所示:
<div ng-controller="VideoSearchResultsCtrl" class="row-fluid">
<div class="span12" >
<div class="video_thumb" ng-repeat="video in videos">
<p>
<a ng-href="/guides/{{video._id}}" data-method="get">
<img ng-src="{{video.poster.large_thumb.url}}">
</a>
</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
结果看起来很好并产生以下最终标记:
<div ng-controller="VideoSearchResultsCtrl" class="row-fluid ng-scope">
<div class="span12">
<!-- ngRepeat: video in videos --><div class="video_thumb ng-scope" ng-repeat="video in videos">
<p>
<a ng-href="/guides/5226408ea0eef2d029673a80" data-method="get" href="/guides/5226408ea0eef2d029673a80">
<img ng-src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg" src="/uploads/video/poster/5226408ea0eef2d029673a80/large_thumb_2101146_det.jpg">
</a>
</p>
</div><!-- end ngRepeat: video in videos -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
控制器代码是:
GuideControllers.controller('VideoSearchResultsCtrl', ['$scope', '$location', 'VideoSearch',
function($scope, $location, VideoSearch) {
$scope.videos = VideoSearch.query({ namespace: "api", resource: "videos", action: …Run Code Online (Sandbox Code Playgroud) 我使用依赖异常的Java库。下面的简化代码:
try {
val eventTime = eventTimeString.as[Date]
} catch {
case e: Exception =>
logger.error(s"Can't parse eventTime from $eventTimeString", e)
// take action for the bad Date string.
}
Run Code Online (Sandbox Code Playgroud)
在Java中,我只捕获将字符串解析为Date的异常,就不会捕获其余的异常,因为它们可能是致命的。我的理解是,捕获Exception意味着捕获任何非致命/非严重的异常。既然不一样,那么抓捕Throwable是安全的,但是真的吗?使用此方法的理由是,未知异常可能从更深的堆栈中抛出,如果它们不是致命的,为什么不捕获所有异常。这一直是Java中的问题,在Java中很容易从您进行的直接调用中找到可能的异常,而从更深层的调用中很难找到。这是Scala解决方案的基本含义,是“捕获所有可恢复的异常”?
我的问题是;是上面的代码被认为是良好的Scala风格,是否“安全”,这比仅捕获Date转换为字符串的字符串要好。
我需要返回不包含某些ID的文档的结果.Elasticsearch允许我们指定允许哪些ID,但我认为无法禁止某些ID.在我的情况下,我想不返回用户已经看到的内容,因此每个用户的列表都不同.
使用scopt https://github.com/scopt/scopt
我有一个非常简单的Scala CLI驱动程序,它在.parse的第一行出错.该行是var i = 0,无法想象为什么会失败,也许在我如何实例化OptionParser?
def parse(args: Seq[String], init: C): Option[C] = {
var i = 0 <———————————————— prints the error below
val pendingOptions = ListBuffer() ++ (nonArgs filterNot {_.hasParent})
Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.IntRef.create(I)Lscala/runtime/IntRef;
at scopt.OptionParser.parse(options.scala:306)
at org.apache.mahout.drivers.ItemSimilarityDriver$.main(ItemSimilarityDriver.scala:47)
at org.apache.mahout.drivers.ItemSimilarityDriver.main(ItemSimilarityDriver.scala)
Run Code Online (Sandbox Code Playgroud)
这里有完整的代码,很抱歉,但我是Scala的新手,所以这可能是一个非常愚蠢的问题
object ItemSimilarityDriver {
/**
* @param args Command line args, if empty a help message is printed.
* @return
*/
def main(args: Array[String]): Unit = {
val parser = new OptionParser[Config]("ItemSimilarity") {
head("ItemSimilarity", "Spark")
opt[Unit]('r', …Run Code Online (Sandbox Code Playgroud) 我在每个文档中都有一个包含Float的字段,这是一种订购文档的后备方式.由于它是浮点数,因此可以为负数.当我问Elasticsearch时,"order": "desc"我首先得到最大的负值,然后是负面的.这是错误的,就好像符号被忽略了,这根本不是我想要的.
"popRank": {
"unmapped_type": "float",
"order": "desc"
}
Run Code Online (Sandbox Code Playgroud)
doc的部分内容如下:
"popRank": -310,
Run Code Online (Sandbox Code Playgroud)
如果查询使用desc我先得到-310,然后是-157.不完全确定当存在正数时会发生什么,因为在这个小的测试数据集中没有任何数据.
我有一个特殊的Map,它最终会对值进行一些一致性检查,这些值被限制为具有特殊含义.现在我只想创建一个与Map [String,Any]完全相同的Schema,特别是我想实例化的是一个映射列表,而不是强制指定Map的类型,所以他们总是[String,Any].而不是
val myMap:Map[String,Any] = Map("one" -> 1, "two" -> "2", ...)
Run Code Online (Sandbox Code Playgroud)
我希望能够:
val mySchema:Schema = Schema("one" -> 1, "two" -> "2", ...)
Run Code Online (Sandbox Code Playgroud)
Map是一个特性,所以我认为我需要像HashMap这样扩展一个类
class Schema extends HashMap[String, Any]
Run Code Online (Sandbox Code Playgroud)
当我用一个初始映射列表实例化它时,我得到它
val mySchema = new Schema("one" -> 1, "two" -> "2", ...)
Error:(110, 19) too many arguments for constructor Schema: ()drivers.Schema
val mySchema = new Schema("one" -> 1, "two" -> "2")
^
Run Code Online (Sandbox Code Playgroud)
HashMap中有一些神奇的东西远远超出我的阅读(它是extends1级with5 级特征).但看起来构造函数的"内容"(映射列表?)被传递给某些initWithContents(contents)伪构造函数.我需要那样的东西吗?
我有一个扩展App的应用程序和一个实现选项解析器的特性.所有特征需求是运行时混合中的某些类或特性提供:
val args: Array[String]
Run Code Online (Sandbox Code Playgroud)
如果我宣布:
trait OptionParser extends App {...}
Run Code Online (Sandbox Code Playgroud)
一切都很好,但排除了选项解析器的任何其他用途,而不是App对象.不确定应用程序扩展App以及混合使用OptionParser是否效率低下:
object MyApp extends App with OptionParser {...}
Run Code Online (Sandbox Code Playgroud)
我意识到这可以缩短为:
object MyApp extends OptionParser {...}
Run Code Online (Sandbox Code Playgroud)
但理想情况下,我希望OptionParser完全独立,除非依赖于 args提供,这只是因为这是App放置它们的地方.
是否有某种方法来声明依赖项而不提供类或特征来从中获取它?可以在链接时检测到错误,以免破坏类型安全性.