使用 Theme Component 修改 Ember 模型类

大家好,

我想修改主题模型类 javascripts/discourse/app/models/topic.js 中下面提到的方法:

    @discourseComputed("excerpt")
      excerptTruncated(excerpt) {
        return excerpt && excerpt.substr(excerpt.length - 8, 8) === "…";
      }

我尝试使用下面的代码,但无法正常工作:

<script type="text/discourse-plugin" version="0.8">
    
    const topicClass = api.container.factoryFor('model:topic');
    const discourseComputed = require("discourse-common/utils/decorators").default;
    
    topicClass.class.reopenClass({
      @discourseComputed("excerpt")
	  excerptTruncated(excerpt) {
		return excerpt && excerpt.substr(topic_excerpt.length - 8, 8) === "&hellip;";
	  }
    });
    
</script>
1 个赞

您可以直接执行

api.modifyClass('model:topic', {
});
2 个赞