我正在使用onsen ui版本1,然后https://onsen.io/v1/guide.html对DOM进行更改
本节准确
text = text if isinstance(text, list) else [text]
页面上的问题没有改变。
如果我转储“content”变量或转储HTML元素,它会在浏览器控制台上显示新编辑的版本。但在页面上还是旧的。
ons对象被实例化,compile方法可以调用,尝试了不同的HTML元素。
答案 0 :(得分:0)
要么你做错了事,要么就是角度刷新问题。
对于第一个场景,如果您提供codepen会更容易,这样我们就可以看到问题所在。目前,您提到的代码对我来说工作正常here。
对于第二种情况,实际上第三行ons.compile(content);
应该删除此问题imo,它可能是版本问题,或者有一些我缺少的上下文。
如果您正在做与角度有关的事情,那么您还应该显示您从哪里调用这3行。为了工作,应该从ng-
事件(例如ng-click
)调用它。
JS:
app.controller('yourControllerName', function($scope) {
$scope.addButton = function () {
var content = document.getElementById("my-content");
content.innerHTML="<ons-button>Another Button</ons-button>";
ons.compile(content);
}
});
HTML:
<ons-button ng-click="addButton()">Add another button</ons-button>
最后,如果你无法使它工作,你可以做类似的事情
app.controller('yourControllerName', function($scope) {
$scope.addButton = function () {
var content = document.getElementById("my-content");
content.innerHTML="<ons-button>Another Button</ons-button>";
ons.compile(content);
$scope.apply(); // should fix the issue, but not recommended
}
});
PS:你也可以试试温泉2 - 你可以: