2017-01-14 5 views
0

Я использую var vm = this вместо этого использование $ scope в контроллере теперь я получаю эту ошибку после компиляции кода. plzzz сказать мне, что вопрос

//TypeError: Cannot read property '$emit' of undefined 

vm.$emit("namePublished", { 
     "username": response.user 
    }); 

ответ

3

Вы не можете вызывать методы $scope «s на this. Поэтому вам нужно ввести $scope и использовать как обычно.

+0

- это окончательное решение для этого. или мы можем сделать что-нибудь еще без изменения всего кода. –

+0

@rajvansh_viresh, '$ scope' - это объект, который имеет свои собственные свойства и функции. Вы можете использовать его как простой объект. Но чтобы использовать его функции в vm, вам нужно сделать много таких работ, как 'vm. $ Emit = $ scope. $ Emit.bind ($ scope)'. Поэтому для этой помощи просто использовать '$ scope' –

+0

thanku sir. –