作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在我的 View 中显示和绑定(bind) base64 图像作为 ImageSource,但它根本没有显示。我在文档中找不到任何有用的信息..我做错了什么吗?
imageSource 是应该保存 Image src 数据的属性..
这是 View :
<Page loaded = "loaded" xmlns = "http://schemas.nativescript.org/tns.xsd" >
<StackLayout>
<TextField hint = "String for encoding!" text = "{{ message }}" />
<Button tap = "{{ onGenerateQrTap }}" text = "Generate QR" class = "button" />
<Image src = "{{ imageSource }} " />
</StackLayout>
</Page>
这是 View 背后的代码:
import { Page } from 'ui/page';
import { EventData } from 'data/observable';
import { QrGeneratorViewModel } from '../../ViewModels/QrGeneratorViewModel';
import { Button } from 'ui/button';
import { Image } from 'ui/image';
let viewModel = new QrGeneratorViewModel();
export function loaded(args: EventData) {
let page = <Page>args.object;
page.bindingContext = viewModel;
}
这是 ViewModel:
import { Observable } from 'data/observable';
import { QrGenerator } from '../Common/QrGenerator';
import { ImageSource } from "image-source";
export class QrGeneratorViewModel extends Observable {
private _message: string;
private _qrGenerator: QrGenerator.Generator;
private _imageBase64String: string;
private _imageSource: ImageSource;
constructor() {
super();
this._qrGenerator = new QrGenerator.Generator();
this._imageSource = new ImageSource();
}
get message() {
return this._message;
}
set message(newMessage: string) {
this._message = newMessage;
}
get imageSource(): ImageSource {
return this._imageSource;
}
public onGenerateQrTap(): void {
this._imageBase64String = this._qrGenerator.qr(this._message);
this._imageSource.loadFromBase64(this._imageBase64String);
}
}
最佳答案
快速浏览一下代码,您似乎没有设置要更新的 _imageSource
。您在 ImageSource
实例上调用该方法,但没有设置 UI 绑定(bind)。我会尝试为 _imageSource
设置一个 setter 或使用 Observable 设置它:
this.set('imageSource', this._imageSource.loadFromBase64(this._imageBase64String);
关于android - 如何在 Nativescript 中显示 base64 字符串并将其绑定(bind)到图像作为源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328606/
我是一名优秀的程序员,十分优秀!