如何初始化组件VueJS中的小部件?

时间:2017-04-16 10:22:48

标签: javascript vue.js vuejs2 vue-component

this一样,但遗憾的是出了问题。 我想初始化this代码 这是我的代码:

module.props.functions.ajaxSearchon = function (currVal) {
    // Search on Type
    $.ajax({
      url: module.props.apiURLs.searchOnType  + '?query=' + currVal + '&lang=' + module.props.lang,
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function (result) {
        module.state = {
          searchResult: result,
          searchQuery: currVal
        };
      },

      error: function (xhr, status, error) {
        module.state = $.extend(module.state, {
          searchResults: 'no results found'
        });
        console.log("error", module.state);
      },

      complete: function () {
        module.props.functions.refreshSearchResults();
      }
    })
  };

我也尝试使用:VK.Share.ready / VK.Share.button.ready,但我收到同样的错误:

  

无法设置属性&inner;内部HTML'为null

我认为外部代码没有加载,但我不确定。我在哪里犯错?

1 个答案:

答案 0 :(得分:3)

尝试使用mounted块而不是created块,因为挂载的实例刚刚挂载后,调用了已安装的块,其中el被新创建的vm替换。$ el `,如下:

<script>
    export default {
      methods:{
        start(){
          document.getElementById('vk_share_button').innerHTML =
            VK.Share.button('example.com', {type: 'link'});
        }
      },
      mounted(){
          VK.ready(this.start());
      }
    }
</script>