onsenui不能改变内容

时间:2016-11-29 18:42:27

标签: javascript angularjs cordova onsen-ui

我正在使用onsen ui版本1,然后https://onsen.io/v1/guide.html对DOM进行更改

本节准确

text = text if isinstance(text, list) else [text]

页面上的问题没有改变。

如果我转储“content”变量或转储HTML元素,它会在浏览器控制台上显示新编辑的版本。但在页面上还是旧的。

ons对象被实例化,compile方法可以调用,尝试了不同的HTML元素。

1 个答案:

答案 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 - 你可以:

  • 使用interactive tutorial
  • 进行实验
  • 试用vanilla版本(没有任何外部框架) - 这不会有像这样的问题