在我的Laravel刀片模板中,我有一个javascript代码段,该代码段生成一个变量,该变量保存数组的索引(名为nextIndex)。我想在Vue实例中使用该索引,如下所示:
enum Tag: String {
case bold, italic, underline
}
extension Tag: Comparable {
static func <(lhs: Tag, rhs: Tag) -> Bool {
return lhs.hashValue < rhs.hashValue
}
}
let tags:[Tag] = [.bold, .italic, .underline].sorted()
print(tags.map {$0.rawValue})
我花了数小时搜索互联网并阅读了文档,但是也许我在找错地方。如何将JS变量 nextIndex 传递到上面的vue数据中?
已编辑 我也尝试过这种方法(在nextIndex之前使用@并在Vue实例外部创建整个URL:
var app = new Vue({
el: '#root',
data: {
url: "{{route('showphoto')}}/{{$photos[nextIndex]->id}}"
}
});
这给了我完全相同的错误消息:
var key = {{ $photo->id}};
var photos = {!!$photos!!};
var @nextIndex = 0;
for (i = 0; i < photos.length; i++) {
if(photos[i]['id'] === key && !(i >= photos.length-1)){
@nextIndex = i+1; // if not the last index, give me the next index
break;
} else if(photos[i]['id'] === key && (i == photos.length-1)) {
@nextIndex = 0; //if this is the last index, give me the first one
break;
}
}
var url = "{{ route('showphoto') }}/{{ $photos[@nextIndex]->id }}";
var app = new Vue({
el: '#root',
data: {
url: url
}
});